Commit fe5108cd664ca5d7feecd0f1ec6588f2d7134b08
1 parent
9b376832
Add Time-Picker unit tests
Showing
1 changed file
with
60 additions
and
0 deletions
Show diff stats
1 | +import { createVue, destroyVM } from '../util'; | ||
2 | + | ||
3 | +describe('TimePicker.vue', () => { | ||
4 | + let vm; | ||
5 | + afterEach(() => { | ||
6 | + destroyVM(vm); | ||
7 | + }); | ||
8 | + | ||
9 | + it('should create a TimePicker component with hours, minutes and seconds', done => { | ||
10 | + vm = createVue(` | ||
11 | + <Time-Picker></Time-Picker> | ||
12 | + `); | ||
13 | + const picker = vm.$children[0]; | ||
14 | + picker.handleIconClick(); // open the picker panels | ||
15 | + | ||
16 | + vm.$nextTick(() => { | ||
17 | + const spiners = picker.$el.querySelectorAll('.ivu-time-picker-cells-list'); | ||
18 | + expect(spiners.length).to.equal(3); // hh:mm:ss | ||
19 | + expect(spiners[0].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(24); | ||
20 | + expect(spiners[1].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(60); | ||
21 | + expect(spiners[2].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(60); | ||
22 | + done(); | ||
23 | + }); | ||
24 | + }); | ||
25 | + | ||
26 | + it('should create a TimePicker component with only hours and minutes', done => { | ||
27 | + vm = createVue(` | ||
28 | + <Time-Picker format="HH:mm"></Time-Picker> | ||
29 | + `); | ||
30 | + const picker = vm.$children[0]; | ||
31 | + picker.handleIconClick(); // open the picker panels | ||
32 | + | ||
33 | + vm.$nextTick(() => { | ||
34 | + const spiners = picker.$el.querySelectorAll('.ivu-time-picker-cells-list'); | ||
35 | + expect([...spiners].filter(el => el.style.display != 'none').length).to.equal(2); // hh:mm | ||
36 | + expect(spiners[0].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(24); | ||
37 | + expect(spiners[1].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(60); | ||
38 | + done(); | ||
39 | + }); | ||
40 | + }); | ||
41 | + | ||
42 | + it('should create a TimePicker component with steps of 15 minutes', done => { | ||
43 | + vm = createVue(` | ||
44 | + <Time-Picker :steps="[1, 15]"></Time-Picker> | ||
45 | + `); | ||
46 | + const picker = vm.$children[0]; | ||
47 | + picker.handleIconClick(); // open the picker panels | ||
48 | + | ||
49 | + vm.$nextTick(() => { | ||
50 | + const spiners = picker.$el.querySelectorAll('.ivu-time-picker-cells-list'); | ||
51 | + const minutesList = [...spiners[1].querySelectorAll('.ivu-time-picker-cells-cell')]; | ||
52 | + | ||
53 | + expect(spiners[0].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(24); | ||
54 | + expect(minutesList.map(el => el.textContent).join(',')).to.equal('00,15,30,45'); | ||
55 | + expect(spiners[1].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(4); | ||
56 | + expect(spiners[2].querySelectorAll('.ivu-time-picker-cells-cell').length).to.equal(60); | ||
57 | + done(); | ||
58 | + }); | ||
59 | + }); | ||
60 | +}); |