Skip to content

Commit 9ff0a52

Browse files
xuexbyugasun
authored andcommitted
feat: add test cases (#46)
* feat: add test command * feat: add a test case * feat: add coverage report * docs: add coverage badge * fix: 优化代码 * test: 添加单元测试 * test: 修复测试用命代码格式 * fix: eslint errors * fix: disable camelcase * fix: disable camelcase for src/github.js
1 parent bc1acec commit 9ff0a52

8 files changed

Lines changed: 1321 additions & 7 deletions

File tree

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ cache:
66
- node_modules
77
script:
88
- npm run lint
9+
- npm run test:cov
10+
after_script: "npm install coveralls && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ github 机器人:在服务端上启动一个基于 [koajs](http://koajs.com/)
44

55
[![Build Status](https://travis-ci.org/xuexb/github-bot.svg?branch=master)](https://travis-ci.org/xuexb/github-bot)
66
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com)
7+
[![Test Coverage](https://img.shields.io/coveralls/xuexb/github-bot/master.svg)](https://coveralls.io/r/xuexb/github-bot?branch=master)
78

89
## 声明
910

package.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
"main": "src/app.js",
66
"scripts": {
77
"start": "NODE_ENV=development node src/app",
8-
"lint": "eslint src/**/*.js --quiet",
8+
"lint": "eslint src/**/*.js test/**/*.js --quiet",
99
"deploy": "pm2 start src/app.js --name=github-bot",
1010
"precommit": "npm run lint",
11-
"commitmsg": "validate-commit-msg"
11+
"commitmsg": "validate-commit-msg",
12+
"test:watch": "npm run test -- --watch",
13+
"test:cov": "istanbul cover node_modules/mocha/bin/_mocha -- -t 5000 --recursive -R spec test/",
14+
"test": "mocha --reporter spec --timeout 5000 --recursive test/"
1215
},
1316
"repository": {
1417
"type": "git",
@@ -58,6 +61,8 @@
5861
}
5962
},
6063
"devDependencies": {
64+
"chai": "^4.1.2",
65+
"chai-as-promised": "^7.1.1",
6166
"eslint": "^4.9.0",
6267
"eslint-config-standard": "^10.2.1",
6368
"eslint-friendly-formatter": "^3.0.0",
@@ -66,6 +71,11 @@
6671
"eslint-plugin-promise": "^3.6.0",
6772
"eslint-plugin-standard": "^3.0.1",
6873
"husky": "^0.14.3",
74+
"istanbul": ">=1.0.0-alpha.2",
75+
"mocha": "^4.0.1",
76+
"mock-require": "^2.0.2",
77+
"sinon": "^4.0.2",
78+
"sinon-chai": "^2.14.0",
6979
"validate-commit-msg": "^2.14.0"
7080
}
7181
}

src/github.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* @author xuexb <[email protected]>
44
*/
55

6+
/* eslint-disable camelcase */
67
const GitHub = require('github')
78
const { toArray } = require('./utils')
89
const { appLog } = require('./logger')
@@ -258,7 +259,7 @@ module.exports = {
258259
async removeLabelsToIssue (payload, name) {
259260
const owner = payload.repository.owner.login
260261
const repo = payload.repository.name
261-
const number = payload.issues.number
262+
const number = payload.issue.number
262263
try {
263264
await github.issues.removeLabel({
264265
owner,
@@ -285,7 +286,7 @@ module.exports = {
285286
* @param {boolean} options.prerelease 是否预发布
286287
* @return {boolean} 是否成功
287288
*/
288-
async createRelease (payload, { tag_name, target_commitish, name, body, draft, prerelease }) {
289+
async createRelease (payload, { tag_name, target_commitish, name, body, draft, prerelease } = {}) {
289290
const owner = payload.repository.owner.login
290291
const repo = payload.repository.name
291292
try {
@@ -314,7 +315,7 @@ module.exports = {
314315
*
315316
* @return {Object | null}
316317
*/
317-
async getReleaseByTag (payload, { tag_name }) {
318+
async getReleaseByTag (payload, { tag_name } = {}) {
318319
const owner = payload.repository.owner.login
319320
const repo = payload.repository.name
320321
try {
@@ -339,7 +340,7 @@ module.exports = {
339340
*
340341
* @return {boolean} 是否成功
341342
*/
342-
async createReviewRequest (payload, { reviewers, team_reviewers }) {
343+
async createReviewRequest (payload, { reviewers, team_reviewers } = {}) {
343344
const owner = payload.repository.owner.login
344345
const repo = payload.repository.name
345346
const number = payload.pull_request.number
@@ -387,7 +388,7 @@ module.exports = {
387388
* @param {string} options.head diff
388389
* @return {Array | null}
389390
*/
390-
async compareCommits (payload, { base, head }) {
391+
async compareCommits (payload, { base, head } = {}) {
391392
const owner = payload.repository.owner.login
392393
const repo = payload.repository.name
393394
try {

0 commit comments

Comments
 (0)