forked from zuriby/Faker.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
git.unit.js
125 lines (100 loc) · 3.32 KB
/
git.unit.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
if (typeof module !== 'undefined') {
var assert = require('assert');
var sinon = require('sinon');
var faker = require('../index');
}
describe("git.js", function() {
describe("branch()", function() {
beforeEach(function() {
sinon.spy(faker.hacker, 'noun');
sinon.spy(faker.hacker, 'verb');
});
afterEach(function() {
faker.hacker.noun.restore();
faker.hacker.verb.restore();
});
it("returns a branch with hacker noun and verb", function() {
faker.git.branch();
assert.ok(faker.hacker.noun.calledOnce);
assert.ok(faker.hacker.verb.calledOnce);
});
});
describe("commitEntry()", function() {
beforeEach(function() {
sinon.spy(faker.git, 'commitMessage');
sinon.spy(faker.git, 'commitSha');
sinon.spy(faker.internet, 'email');
sinon.spy(faker.name, 'firstName');
sinon.spy(faker.name, 'lastName');
sinon.spy(faker.random, 'number');
});
afterEach(function() {
faker.git.commitMessage.restore();
faker.git.commitSha.restore();
faker.internet.email.restore();
faker.name.firstName.restore();
faker.name.lastName.restore();
faker.random.number.restore();
});
it("returns merge entry at random", function() {
faker.git.commitEntry();
assert.ok(faker.random.number.called);
});
it("returns a commit entry with git commit message and sha", function() {
faker.git.commitEntry();
assert.ok(faker.git.commitMessage.calledOnce);
assert.ok(faker.git.commitSha.calledOnce);
});
it("returns a commit entry with internet email", function() {
faker.git.commitEntry();
assert.ok(faker.internet.email.calledOnce);
});
it("returns a commit entry with name first and last", function() {
faker.git.commitEntry();
assert.ok(faker.name.firstName.calledTwice);
assert.ok(faker.name.lastName.calledTwice);
});
context("with options['merge'] equal to true", function() {
beforeEach(function() {
sinon.spy(faker.git, 'shortSha');
});
afterEach(function() {
faker.git.shortSha.restore();
});
it("returns a commit entry with merge details", function() {
faker.git.commitEntry({ merge: true });
assert.ok(faker.git.shortSha.calledTwice);
});
});
});
describe("commitMessage()", function() {
beforeEach(function() {
sinon.spy(faker.hacker, 'verb');
sinon.spy(faker.hacker, 'adjective');
sinon.spy(faker.hacker, 'noun');
});
afterEach(function() {
faker.hacker.verb.restore();
faker.hacker.adjective.restore();
faker.hacker.noun.restore();
});
it("returns a commit message with hacker noun, adj and verb", function() {
faker.git.commitMessage();
assert.ok(faker.hacker.verb.calledOnce);
assert.ok(faker.hacker.adjective.calledOnce);
assert.ok(faker.hacker.noun.calledOnce);
});
});
describe("commitSha()", function() {
it("returns a random commit SHA", function() {
var commitSha = faker.git.commitSha();
assert.ok(commitSha.match(/^[a-f0-9]{40}$/));
});
});
describe("shortSha()", function() {
it("returns a random short SHA", function() {
var shortSha = faker.git.shortSha();
assert.ok(shortSha.match(/^[a-f0-9]{7}$/));
});
});
});