@@ -13,14 +13,41 @@ describe('DatetimeYearPicker.vue', function () {
13
13
14
14
expect ( vm . $ ( '.vdatetime-year-picker' ) ) . to . exist
15
15
16
- const years = vm . $$ ( '.vdatetime-year-picker__list .vdatetime-year-picker__item' ) . map ( el => parseInt ( el . textContent ) )
16
+ const years = vm . $$ ( '.vdatetime-year-picker__list .vdatetime-year-picker__item' )
17
+ . map ( el => parseInt ( el . textContent ) )
17
18
const yearList = new Array ( 201 ) . fill ( null ) . map ( ( item , index ) => 1920 + index )
18
19
19
20
expect ( years ) . eql ( yearList )
20
21
21
22
const selected = parseInt ( vm . $ ( '.vdatetime-year-picker__item--selected' ) . textContent )
22
23
expect ( selected ) . eql ( 2020 )
23
24
} )
25
+
26
+ it ( 'should disable years' , function ( ) {
27
+ const vm = createVM ( this ,
28
+ `<DatetimeYearPicker :min-date="minDate" :max-date="maxDate" :year="2018"></DatetimeYearPicker>` ,
29
+ {
30
+ components : { DatetimeYearPicker } ,
31
+ data ( ) {
32
+ return {
33
+ minDate : DateTime . fromISO ( '2018-01-01T00:00:00.000Z' ) . toUTC ( ) ,
34
+ maxDate : DateTime . fromISO ( '2018-12-01T00:00:00.000Z' ) . toUTC ( )
35
+ }
36
+ }
37
+ } )
38
+
39
+ const years = vm . $$ ( '.vdatetime-year-picker__list .vdatetime-year-picker__item' )
40
+
41
+ years . forEach ( year => {
42
+ const yearNumber = parseInt ( year . textContent )
43
+
44
+ if ( yearNumber === 2018 ) {
45
+ expect ( year ) . to . have . not . class ( 'vdatetime-year-picker__item--disabled' )
46
+ } else {
47
+ expect ( year ) . to . have . class ( 'vdatetime-year-picker__item--disabled' )
48
+ }
49
+ } )
50
+ } )
24
51
} )
25
52
26
53
describe ( 'events' , function ( ) {
@@ -61,30 +88,4 @@ describe('DatetimeYearPicker.vue', function () {
61
88
expect ( vm . year ) . not . to . be . equal ( 1918 )
62
89
} )
63
90
} )
64
-
65
- describe ( 'min/max validation' , function ( ) {
66
- it ( 'should add disabled class' , function ( ) {
67
- const vm = createVM ( this ,
68
- `<DatetimeYearPicker :min-date="minDate" :max-date="maxDate" :year="2018"></DatetimeYearPicker>` ,
69
- {
70
- components : { DatetimeYearPicker } ,
71
- data ( ) {
72
- return {
73
- minDate : DateTime . fromISO ( '2018-01-01' ) ,
74
- maxDate : DateTime . fromISO ( '2018-12-01' )
75
- }
76
- }
77
- } )
78
-
79
- const years = vm . $$ ( '.vdatetime-year-picker__list .vdatetime-year-picker__item' )
80
- for ( var i = 0 ; i < years . length ; i ++ ) {
81
- const yearEl = years [ i ]
82
- if ( yearEl . textContent === '2018' ) {
83
- expect ( yearEl . className ) . to . have . string ( 'vdatetime-year-picker__item--selected' )
84
- continue
85
- }
86
- expect ( yearEl . className ) . to . have . string ( 'vdatetime-year-picker__item--disabled' )
87
- }
88
- } )
89
- } )
90
91
} )
0 commit comments