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 | +}); | ... | ... |