@@ -75,7 +75,6 @@ describe("Input Select Testing", () => {
75
75
} )
76
76
await app . vm . $nextTick ( )
77
77
await wait ( 233 )
78
- console . log ( app . html ( ) )
79
78
expect ( app . text ( ) ) . toBe ( defaultOptions [ 0 ] . label ) ;
80
79
} )
81
80
test ( "Открытие списка выборки по нажатию на иконку" , async ( ) => {
@@ -88,12 +87,12 @@ describe("Input Select Testing", () => {
88
87
expect ( app . text ( ) ) . toBe ( defaultOptions . map ( a => a . label ) . join ( '' ) )
89
88
} )
90
89
test ( "Открытие списка выборки по нажатию space при фокусе на поле" , async ( ) => {
91
- await app . get ( '.input-select' ) . trigger ( 'keyup .space' ) ;
90
+ await app . get ( '.input-select' ) . trigger ( 'keydown .space' ) ;
92
91
expect ( app . text ( ) ) . toBe ( defaultOptions . map ( a => a . label ) . join ( '' ) )
93
92
} )
94
93
test ( "Переключение значений при нажатии клавиши вниз при фокусе на поле." , async ( ) => {
95
94
function triggerDown ( ) {
96
- return app . get ( '.input-select' ) . trigger ( 'keydown.down' ) ;
95
+ return app . get ( '.input-select' ) . trigger ( 'keydown' , { key : "ArrowDown" } ) ;
97
96
}
98
97
99
98
await triggerDown ( )
@@ -144,10 +143,9 @@ describe("Input Select Testing", () => {
144
143
} )
145
144
146
145
test ( "Disabled select" , async ( ) => {
147
-
148
146
form . disable ( )
149
147
await app . vm . $nextTick ( )
150
- expect ( app . find ( '.input-select_disabled' ) . exists ( ) ) . toBe ( true )
148
+ expect ( app . find ( '.vf- input-select_disabled' ) . exists ( ) ) . toBe ( true )
151
149
152
150
function triggerDown ( ) {
153
151
return app . get ( '.input-select' ) . trigger ( 'keydown.down' ) ;
@@ -160,7 +158,7 @@ describe("Input Select Testing", () => {
160
158
test ( "Error Select" , async ( ) => {
161
159
expect ( form . validate ( ) ) . toBe ( false ) ;
162
160
await app . vm . $nextTick ( )
163
- expect ( app . find ( '.input-select_error' ) . exists ( ) ) . toBe ( true )
161
+ expect ( app . find ( '.vf- input-select_error' ) . exists ( ) ) . toBe ( true )
164
162
expect ( app . text ( ) ) . toBe ( STORE . requiredMessage )
165
163
} )
166
164
@@ -186,14 +184,14 @@ describe("Input Select Testing", () => {
186
184
expect ( input . element . getAttribute ( 'tabindex' ) ) . toBe ( "0" )
187
185
} )
188
186
test ( "Press down should change value" , async ( ) => {
189
- await input . trigger ( 'keydown.down' ) ;
187
+ await input . trigger ( 'keydown' , { key : "ArrowDown" } ) ;
190
188
expect ( form . getValueByName ( name ) ) . toBe ( defaultOptions [ 0 ] . value )
191
189
192
- await input . trigger ( 'keydown.down' ) ;
190
+ await input . trigger ( 'keydown' , { key : "ArrowDown" } ) ;
193
191
expect ( form . getValueByName ( name ) ) . toBe ( defaultOptions [ 1 ] . value )
194
192
} )
195
193
test ( "Press up should change value" , async ( ) => {
196
- await input . trigger ( 'keydown.up' ) ;
194
+ await input . trigger ( 'keydown' , { key : "ArrowUp" } ) ;
197
195
expect ( form . getValueByName ( name ) ) . toBe ( defaultOptions [ 2 ] . value )
198
196
} )
199
197
test ( "Press up and down not work in disabled status" , async ( ) => {
@@ -280,4 +278,108 @@ describe("Input Select Testing", () => {
280
278
281
279
expect ( form . getValueByName ( name ) ) . toEqual ( defaultOptions . map ( item => item . value ) . slice ( 0 , 2 ) )
282
280
} )
281
+
282
+ test ( "Shift + ArrowDown: _ -> 0 = _, 1" , async ( ) => {
283
+ const wrap = defaultMount ( defineSelectComponent ( {
284
+ multiple : true ,
285
+ options : defaultOptions ,
286
+ limit : 2
287
+ } ) )
288
+ const form = ( wrap . vm as any ) . form as Form ;
289
+ currentItem = wrap . find ( '.container-input-select-current' )
290
+ await currentItem . trigger ( 'keydown.shift.down' ) ;
291
+
292
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ defaultOptions [ 0 ] . value ] ) ;
293
+ } )
294
+ test ( "Shift + ArrowDown: 1 -> 0 = 1, 1" , async ( ) => {
295
+ const wrap = defaultMount ( defineSelectComponent ( {
296
+ multiple : true ,
297
+ options : defaultOptions ,
298
+ } ) )
299
+ const form = ( wrap . vm as any ) . form as Form ;
300
+ form . setValues ( {
301
+ [ name ] : [ defaultOptions [ 1 ] . value ]
302
+ } )
303
+ await app . vm . $nextTick ( )
304
+ await wrap . find ( '.container-input-select-current' ) . trigger ( 'click' ) ;
305
+ currentItem = wrap . find ( '.container-input-select-current' )
306
+ await currentItem . trigger ( 'keydown.shift' , {
307
+ key : "ArrowDown"
308
+ } ) ;
309
+
310
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ defaultOptions [ 1 ] . value , defaultOptions [ 2 ] . value ] ) ;
311
+ } )
312
+ test ( "Shift + ArrowDown: 0 -> 1 = 0, 0" , async ( ) => {
313
+ const wrap = defaultMount ( defineSelectComponent ( {
314
+ multiple : true ,
315
+ options : defaultOptions ,
316
+ } ) )
317
+ const form = ( wrap . vm as any ) . form as Form ;
318
+ form . setValues ( {
319
+ [ name ] : [ defaultOptions [ 1 ] . value ]
320
+ } )
321
+ await app . vm . $nextTick ( )
322
+ await wrap . find ( '.container-input-select-current' ) . trigger ( 'click' ) ;
323
+ currentItem = wrap . find ( '.container-input-select-current' )
324
+
325
+ await currentItem . trigger ( 'keydown.ctrl' , { key : "ArrowUp" } )
326
+ await currentItem . trigger ( 'keydown.shift' , {
327
+ key : "ArrowDown"
328
+ } ) ;
329
+
330
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ ] ) ;
331
+ } )
332
+ test ( "Shift + ArrowDown: 0 -> 0 = 1, 0" , async ( ) => {
333
+ const wrap = defaultMount ( defineSelectComponent ( {
334
+ multiple : true ,
335
+ options : defaultOptions ,
336
+ } ) )
337
+ const form = ( wrap . vm as any ) . form as Form ;
338
+ await wrap . find ( '.container-input-select-current' ) . trigger ( 'click' ) ;
339
+ currentItem = wrap . find ( '.container-input-select-current' )
340
+
341
+ await currentItem . trigger ( 'keydown.ctrl' , { key : "ArrowDown" } )
342
+ await currentItem . trigger ( 'keydown.shift' , {
343
+ key : "ArrowDown"
344
+ } ) ;
345
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ defaultOptions [ 0 ] . value ] ) ;
346
+ await currentItem . trigger ( 'keydown.shift' , {
347
+ key : "ArrowDown"
348
+ } ) ;
349
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ defaultOptions [ 0 ] . value , defaultOptions [ 1 ] . value ] ) ;
350
+ } )
351
+ test ( "Shift + ArrowDown: 1 -> 1 = 0, 1" , async ( ) => {
352
+ const wrap = defaultMount ( defineSelectComponent ( {
353
+ multiple : true ,
354
+ options : defaultOptions ,
355
+ } ) )
356
+ const form = ( wrap . vm as any ) . form as Form ;
357
+ await wrap . find ( '.container-input-select-current' ) . trigger ( 'click' ) ;
358
+ currentItem = wrap . find ( '.container-input-select-current' )
359
+
360
+ await currentItem . trigger ( 'keydown.shift' , { key : "ArrowDown" } ) ;
361
+ await currentItem . trigger ( 'keydown.shift' , { key : "ArrowDown" } ) ;
362
+
363
+ await currentItem . trigger ( 'keydown.ctrl' , { key : "ArrowUp" } ) ;
364
+
365
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ defaultOptions [ 0 ] . value , defaultOptions [ 1 ] . value ] ) ;
366
+ await currentItem . trigger ( 'keydown.shift' , { key : "ArrowDown" } ) ;
367
+ expect ( form . getValueByName ( name ) ) . toEqual ( [ defaultOptions [ 1 ] . value ] ) ;
368
+ } )
369
+
370
+ test ( "Double SPACE press should not make effect for multiple" , async ( ) => {
371
+ const wrap = defaultMount ( defineSelectComponent ( {
372
+ multiple : true ,
373
+ options : defaultOptions ,
374
+ limit : 2
375
+ } ) )
376
+ const form = ( wrap . vm as any ) . form as Form ;
377
+ form . setValues ( {
378
+ [ name ] : [ ]
379
+ } )
380
+ currentItem = wrap . find ( '.container-input-select-current' )
381
+ await currentItem . trigger ( 'keydown.space' ) ;
382
+ await currentItem . trigger ( 'keydown.space' ) ;
383
+ expect ( form . getValueByName ( name ) . length ) . toBe ( 0 )
384
+ } )
283
385
} )
0 commit comments