@@ -470,6 +470,7 @@ describe('FilterInput', () => {
470
470
const selectedTags = wrapper . findComponent ( { ref : 'selectedTags' } ) ;
471
471
if ( selectedTags . exists ( ) ) {
472
472
selectedTags . vm . $emit ( 'select-all' ) ;
473
+ await wrapper . vm . $nextTick ( ) ;
473
474
}
474
475
475
476
input . trigger ( 'paste' , { clipboardData } ) ;
@@ -709,10 +710,11 @@ describe('FilterInput', () => {
709
710
} ) ;
710
711
} ) ;
711
712
712
- it ( 'adds tag to `selectedTags` when it is clicked, clearing the filter' , ( ) => {
713
+ it ( 'adds tag to `selectedTags` when it is clicked, clearing the filter' , async ( ) => {
713
714
const selectedTag = 'Tag1' ;
714
715
suggestedTags = wrapper . findComponent ( { ref : 'suggestedTags' } ) ;
715
716
suggestedTags . vm . $emit ( 'click-tags' , { tagName : selectedTag } ) ;
717
+ await wrapper . vm . $nextTick ( ) ;
716
718
expect ( wrapper . emitted ( 'update:selectedTags' ) ) . toEqual ( [ [ [ selectedTag ] ] ] ) ;
717
719
expect ( wrapper . emitted ( 'input' ) ) . toEqual ( [ [ '' ] ] ) ;
718
720
} ) ;
@@ -742,8 +744,9 @@ describe('FilterInput', () => {
742
744
expect ( attrs ) . toHaveProperty ( 'aria-labelledby' , 'filter-input selected-tags' ) ;
743
745
} ) ;
744
746
745
- it ( 're-emits the the `preventedBlur` event, from selected tags' , ( ) => {
747
+ it ( 're-emits the the `preventedBlur` event, from selected tags' , async ( ) => {
746
748
selectedTagsComponent . vm . $emit ( 'prevent-blur' ) ;
749
+ await wrapper . vm . $nextTick ( ) ;
747
750
expect ( wrapper . emitted ( 'update:preventedBlur' ) ) . toEqual ( [ [ true ] ] ) ;
748
751
} ) ;
749
752
@@ -854,6 +857,7 @@ describe('FilterInput', () => {
854
857
855
858
it ( 'reset filters when `reset-filters` event is called on `selectedTags`' , async ( ) => {
856
859
selectedTagsComponent . vm . $emit ( 'reset-filters' ) ;
860
+ await wrapper . vm . $nextTick ( ) ;
857
861
858
862
expect ( wrapper . emitted ( 'input' ) ) . toEqual ( [ [ '' ] ] ) ;
859
863
expect ( wrapper . emitted ( 'update:selectedTags' ) ) . toBeTruthy ( ) ;
@@ -938,9 +942,10 @@ describe('FilterInput', () => {
938
942
expect ( wrapper . emitted ( 'update:selectedTags' ) ) . toBeTruthy ( ) ;
939
943
} ) ;
940
944
941
- it ( 'focuses the input and does not delete selected tag when it is clicked on desktop' , ( ) => {
945
+ it ( 'focuses the input and does not delete selected tag when it is clicked on desktop' , async ( ) => {
942
946
const selectedTags = wrapper . findComponent ( { ref : 'selectedTags' } ) ;
943
947
selectedTags . vm . $emit ( 'click-tags' , selectedTag ) ;
948
+ await wrapper . vm . $nextTick ( ) ;
944
949
expect ( wrapper . vm . selectedTags ) . toEqual ( [ selectedTag ] ) ;
945
950
expect ( document . activeElement ) . toBe ( input . element ) ;
946
951
} ) ;
@@ -1030,6 +1035,7 @@ describe('FilterInput', () => {
1030
1035
const singleCharacter = 'a' ;
1031
1036
1032
1037
wrapper . findComponent ( { ref : 'selectedTags' } ) . vm . $emit ( 'select-all' ) ;
1038
+ await wrapper . vm . $nextTick ( ) ;
1033
1039
input . trigger ( 'keydown' , { key : singleCharacter } ) ;
1034
1040
input . setValue ( singleCharacter ) ;
1035
1041
@@ -1091,6 +1097,7 @@ describe('FilterInput', () => {
1091
1097
await wrapper . setProps ( { value : 'foo' , selectedTags : tags } ) ;
1092
1098
const selectedTags = wrapper . findComponent ( { ref : 'selectedTags' } ) ;
1093
1099
selectedTags . vm . $emit ( 'select-all' ) ;
1100
+ await wrapper . vm . $nextTick ( ) ;
1094
1101
1095
1102
expect ( wrapper . vm . selectedTag ) . toEqual ( wrapper . vm . activeTag ) ;
1096
1103
} ) ;
@@ -1193,8 +1200,9 @@ describe('FilterInput', () => {
1193
1200
expect ( wrapper . emitted ( 'focus-prev' ) ) . toBeTruthy ( ) ;
1194
1201
} ) ;
1195
1202
1196
- it ( 'emits `focus-next`, when @focus-next is called from SuggestedTags' , ( ) => {
1203
+ it ( 'emits `focus-next`, when @focus-next is called from SuggestedTags' , async ( ) => {
1197
1204
wrapper . findComponent ( { ref : 'suggestedTags' } ) . vm . $emit ( 'focus-next' ) ;
1205
+ await wrapper . vm . $nextTick ( ) ;
1198
1206
expect ( wrapper . emitted ( 'focus-next' ) ) . toHaveLength ( 1 ) ;
1199
1207
} ) ;
1200
1208
@@ -1211,6 +1219,7 @@ describe('FilterInput', () => {
1211
1219
await wrapper . setProps ( { positionReversed : true } ) ;
1212
1220
1213
1221
wrapper . findComponent ( { ref : 'suggestedTags' } ) . vm . $emit ( 'focus-prev' ) ;
1222
+ await wrapper . vm . $nextTick ( ) ;
1214
1223
expect ( wrapper . emitted ( 'focus-prev' ) ) . toHaveLength ( 1 ) ;
1215
1224
} ) ;
1216
1225
@@ -1316,7 +1325,7 @@ describe('FilterInput', () => {
1316
1325
input . trigger ( 'keydown.left' , { shiftKey : true } ) ;
1317
1326
} ) ;
1318
1327
1319
- it ( 'selects tags from right to left' , ( ) => {
1328
+ it ( 'selects tags from right to left' , async ( ) => {
1320
1329
// Last tag should get active
1321
1330
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 2 ] ] ) ;
1322
1331
@@ -1328,18 +1337,20 @@ describe('FilterInput', () => {
1328
1337
1329
1338
// Previous tag get focus
1330
1339
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 1 ] } ) ;
1340
+ await wrapper . vm . $nextTick ( ) ;
1331
1341
1332
1342
// Last two tags get active
1333
1343
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 1 ] , selectedTags [ 2 ] ] ) ;
1334
1344
} ) ;
1335
1345
1336
- it ( 'unselects tags from left to right' , ( ) => {
1346
+ it ( 'unselects tags from left to right' , async ( ) => {
1337
1347
// Press left key + shift on the last tag
1338
1348
selectedTagsComponent . vm . $emit ( 'keydown' , {
1339
1349
tagName : selectedTags [ 2 ] ,
1340
1350
event : new KeyboardEvent ( 'keydown.left' , { shiftKey : true } ) ,
1341
1351
} ) ;
1342
1352
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 1 ] } ) ;
1353
+ await wrapper . vm . $nextTick ( ) ;
1343
1354
1344
1355
// Last two tags get active
1345
1356
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 1 ] , selectedTags [ 2 ] ] ) ;
@@ -1351,18 +1362,20 @@ describe('FilterInput', () => {
1351
1362
} ) ;
1352
1363
// Last tag get focus
1353
1364
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 2 ] } ) ;
1365
+ await wrapper . vm . $nextTick ( ) ;
1354
1366
1355
1367
// Only the last tag get active
1356
1368
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 2 ] ] ) ;
1357
1369
} ) ;
1358
1370
1359
- it ( 'unselects tags clicking on them using the meta key' , ( ) => {
1371
+ it ( 'unselects tags clicking on them using the meta key' , async ( ) => {
1360
1372
// Press left key + shift on the last tag
1361
1373
selectedTagsComponent . vm . $emit ( 'keydown' , {
1362
1374
tagName : selectedTags [ 2 ] ,
1363
1375
event : new KeyboardEvent ( 'keydown.left' , { shiftKey : true } ) ,
1364
1376
} ) ;
1365
1377
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 1 ] } ) ;
1378
+ await wrapper . vm . $nextTick ( ) ;
1366
1379
1367
1380
// Last two tags get active
1368
1381
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 1 ] , selectedTags [ 2 ] ] ) ;
@@ -1377,13 +1390,14 @@ describe('FilterInput', () => {
1377
1390
expect ( spyFocusTag ) . toHaveBeenCalledTimes ( 1 ) ;
1378
1391
} ) ;
1379
1392
1380
- it ( 'unselects tags clicking on them using the ctrl key' , ( ) => {
1393
+ it ( 'unselects tags clicking on them using the ctrl key' , async ( ) => {
1381
1394
// Press left key + shift on the last tag
1382
1395
selectedTagsComponent . vm . $emit ( 'keydown' , {
1383
1396
tagName : selectedTags [ 2 ] ,
1384
1397
event : new KeyboardEvent ( 'keydown.left' , { shiftKey : true } ) ,
1385
1398
} ) ;
1386
1399
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 1 ] } ) ;
1400
+ await wrapper . vm . $nextTick ( ) ;
1387
1401
1388
1402
// Last two tags get active
1389
1403
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 1 ] , selectedTags [ 2 ] ] ) ;
@@ -1398,11 +1412,12 @@ describe('FilterInput', () => {
1398
1412
expect ( spyFocusTag ) . toHaveBeenCalledTimes ( 1 ) ;
1399
1413
} ) ;
1400
1414
1401
- it ( 'does not select tags if user tabs while holding the shift key from input' , ( ) => {
1415
+ it ( 'does not select tags if user tabs while holding the shift key from input' , async ( ) => {
1402
1416
input . trigger ( 'keydown' , { key : 'Tab' , shiftKey : true } ) ;
1403
1417
expect ( wrapper . vm . activeTags ) . toEqual ( [ ] ) ;
1404
1418
1405
1419
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 2 ] } ) ;
1420
+ await wrapper . vm . $nextTick ( ) ;
1406
1421
expect ( wrapper . vm . activeTags ) . toEqual ( [ ] ) ;
1407
1422
} ) ;
1408
1423
} ) ;
@@ -1417,12 +1432,13 @@ describe('FilterInput', () => {
1417
1432
spyFocusTag = jest . spyOn ( selectedTagsComponent . vm , 'focusTag' ) . mockReturnValueOnce ( ) ;
1418
1433
} ) ;
1419
1434
1420
- it ( 'selects the whole range between the init tag index and the focused tag index from right to left' , ( ) => {
1435
+ it ( 'selects the whole range between the init tag index and the focused tag index from right to left' , async ( ) => {
1421
1436
selectedTagsComponent . vm . $emit ( 'keydown' , {
1422
1437
tagName : selectedTags [ 2 ] ,
1423
1438
event : new KeyboardEvent ( 'keydown' , { shiftKey : true } ) ,
1424
1439
} ) ;
1425
1440
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 0 ] } ) ;
1441
+ await wrapper . vm . $nextTick ( ) ;
1426
1442
1427
1443
expect ( wrapper . vm . activeTags ) . toEqual ( selectedTags ) ;
1428
1444
} ) ;
@@ -1553,7 +1569,7 @@ describe('FilterInput', () => {
1553
1569
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ 1 ] , selectedTags [ 0 ] ] ) ;
1554
1570
} ) ;
1555
1571
1556
- it ( 'selects the init tag as the length of selected tags when the selection starts on the input value' , ( ) => {
1572
+ it ( 'selects the init tag as the length of selected tags when the selection starts on the input value' , async ( ) => {
1557
1573
input = wrapper . findComponent ( 'input' ) ;
1558
1574
input . trigger ( 'keydown.left' , {
1559
1575
shiftKey : true ,
@@ -1563,6 +1579,7 @@ describe('FilterInput', () => {
1563
1579
expect ( wrapper . vm . activeTags ) . toEqual ( [ selectedTags [ selectedTags . length - 1 ] ] ) ;
1564
1580
1565
1581
selectedTagsComponent . vm . $emit ( 'focus' , { tagName : selectedTags [ 0 ] } ) ;
1582
+ await wrapper . vm . $nextTick ( ) ;
1566
1583
1567
1584
expect ( wrapper . vm . activeTags ) . toEqual ( selectedTags ) ;
1568
1585
} ) ;
0 commit comments