-
-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathreviewers.js
65 lines (56 loc) · 1.6 KB
/
reviewers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { test } from 'tap'
import Rule from '../../lib/rules/reviewers.js'
import Commit from 'gitlint-parser-node'
import Validator from '../../index.js'
const MSG = 'Commit must have at least 1 reviewer.'
test('rule: reviewers', (t) => {
t.test('missing', (tt) => {
tt.plan(7)
const v = new Validator()
const context = new Commit({
sha: 'e7c077c610afa371430180fbd447bfef60ebc5ea',
author: {
name: 'Evan Lucas',
email: '[email protected]',
date: '2016-04-12T19:42:23Z'
},
message: `test: fix something
This is a test`
}, v)
context.report = (opts) => {
tt.pass('called report')
tt.equal(opts.id, 'reviewers', 'id')
tt.equal(opts.message, MSG, 'message')
tt.equal(opts.string, null, 'string')
tt.equal(opts.line, 0, 'line')
tt.equal(opts.column, 0, 'column')
tt.equal(opts.level, 'fail', 'level')
}
Rule.validate(context, { options: {} })
})
t.test('skip for release commit', (tt) => {
tt.plan(2)
const v = new Validator()
const context = new Commit({
sha: 'e7c077c610afa371430180fbd447bfef60ebc5ea',
author: {
name: 'Evan Lucas',
email: '[email protected]',
date: '2016-04-12T19:42:23Z'
},
message: `2016-04-12, Version x.y.z
This is a test`
}, v)
context.report = (opts) => {
tt.pass('called report')
tt.strictSame(opts, {
id: 'reviewers',
message: 'skipping reviewers for release commit',
string: '',
level: 'skip'
})
}
Rule.validate(context, { options: {} })
})
t.end()
})