-
Notifications
You must be signed in to change notification settings - Fork 592
/
Copy pathrunner.spec.js
146 lines (122 loc) · 3.61 KB
/
runner.spec.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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import store from '../src/js/menu.store'
import runner from '../src/js/runner'
describe('runner.js', () => {
let sandbox = sinon.sandbox.create()
afterEach(() => {
sandbox.restore()
document.body.innerHTML = ''
document.body.style = ''
})
describe('status method', () => {
it('should get the proper status', () => {
let status = runner('status')
status.moving.should.equal(false)
})
})
describe('open method', () => {
describe('when providing all parameters', () => {
it('should run the open method with provided callback', (done) => {
sandbox.stub(store, 'get').returns({
open (callback) {
callback.should.equal('acme')
done()
}
})
runner('open', 'sidr', 'acme')
})
})
describe('when providing only the callback', () => {
it('should run the open method with provided callback and default sidr menu', (done) => {
let getStub = sandbox.stub(store, 'get').returns({
open (callback) {
callback()
sandbox.assert.calledWith(getStub, 'sidr')
sandbox.assert.calledOnce(sampleCallback)
done()
}
})
let sampleCallback = sandbox.spy()
runner('open', sampleCallback)
})
})
describe('whithout providing callback or menu name', () => {
it('should run the open method with default sidr menu', (done) => {
let getStub = sandbox.stub(store, 'get').returns({
open () {
done()
}
})
runner('open')
sandbox.assert.calledWith(getStub, 'sidr')
})
})
})
describe('close method', () => {
it('should run the close method with provided callback', (done) => {
sandbox.stub(store, 'get').returns({
close (callback) {
callback.should.equal('acme')
done()
}
})
runner('close', 'sidr', 'acme')
})
})
describe('toggle method', () => {
it('should run the toggle method with provided callback', (done) => {
sandbox.stub(store, 'get').returns({
toggle (callback) {
callback.should.equal('acme')
done()
}
})
runner('toggle', 'sidr', 'acme')
})
})
describe('reload method', () => {
it('should run the reload method with provided callback', (done) => {
sandbox.stub(store, 'get').returns({
reload (callback) {
callback.should.equal('acme')
done()
}
})
runner('reload', 'sidr', 'acme')
})
})
describe('when only callback provided and not method provided', () => {
it('should run the toggle method with provided callback in default sidr menu', (done) => {
let getStub = sandbox.stub(store, 'get').returns({
toggle (callback) {
callback()
sandbox.assert.calledWith(getStub, 'sidr')
sandbox.assert.calledOnce(sampleCallback)
done()
}
})
let sampleCallback = sandbox.spy()
runner(sampleCallback)
})
})
describe('when nothing passed', () => {
it('should run the toggle method in sidr menu', (done) => {
let getStub = sandbox.stub(store, 'get').returns({
toggle () {
sandbox.assert.calledWith(getStub, 'sidr')
done()
}
})
runner()
})
})
describe('when unknown arg passed', () => {
it('should console an error', () => {
let consoleSpy = sandbox.spy(console, 'error')
sandbox.stub(store, 'get').returns({
toggle () {}
})
runner([])
sandbox.assert.calledOnce(consoleSpy)
})
})
})