@@ -177,6 +177,7 @@ describe('NavBase', () => {
177
177
currentBreakpoint : BreakpointName . large ,
178
178
} ) ;
179
179
preTitleProps . closeNav ( ) ;
180
+ await wrapper . vm . $nextTick ( ) ;
180
181
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
181
182
expect ( preTitleProps ) . toEqual ( {
182
183
className : 'pre-title' ,
@@ -199,8 +200,10 @@ describe('NavBase', () => {
199
200
// assert the nav toggling works
200
201
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
201
202
toggle . trigger ( 'click' ) ;
203
+ await wrapper . vm . $nextTick ( ) ;
202
204
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isOpen ) ;
203
205
toggle . trigger ( 'click' ) ;
206
+ await wrapper . vm . $nextTick ( ) ;
204
207
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
205
208
} ) ;
206
209
@@ -256,6 +259,7 @@ describe('NavBase', () => {
256
259
await wrapper . vm . $nextTick ( ) ;
257
260
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isOpen ) ;
258
261
tray . find ( '.with-anchor a' ) . trigger ( 'click' ) ;
262
+ await wrapper . vm . $nextTick ( ) ;
259
263
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
260
264
} ) ;
261
265
@@ -277,22 +281,27 @@ describe('NavBase', () => {
277
281
it ( 'adds extra classes to stop scrolling while animating the tray up/down' , async ( ) => {
278
282
wrapper = await createWrapper ( ) ;
279
283
wrapper . findComponent ( { ref : 'axToggle' } ) . trigger ( 'click' ) ;
284
+ await wrapper . vm . $nextTick ( ) ;
280
285
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isOpen ) ;
281
286
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isTransitioning ) ;
282
287
// assert it removes the class, after transition is done
283
288
emitEndOfTrayTransition ( wrapper , 'height' ) ;
289
+ await wrapper . vm . $nextTick ( ) ;
284
290
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isTransitioning ) ;
285
291
// assert it only tracks transform property
286
292
emitEndOfTrayTransition ( wrapper ) ;
293
+ await wrapper . vm . $nextTick ( ) ;
287
294
// assert the class is no more
288
295
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isTransitioning ) ;
289
296
// close the nav
290
297
wrapper . findComponent ( { ref : 'axToggle' } ) . trigger ( 'click' ) ;
298
+ await wrapper . vm . $nextTick ( ) ;
291
299
// assert the correct classes are there
292
300
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
293
301
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isTransitioning ) ;
294
302
// end the transition
295
303
emitEndOfTrayTransition ( wrapper ) ;
304
+ await wrapper . vm . $nextTick ( ) ;
296
305
// assert the class is no longer there
297
306
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isTransitioning ) ;
298
307
} ) ;
@@ -303,8 +312,10 @@ describe('NavBase', () => {
303
312
expect ( link . attributes ( ) ) . toHaveProperty ( 'tabindex' , '-1' ) ;
304
313
expect ( link . attributes ( ) ) . toHaveProperty ( 'href' , '#' ) ;
305
314
link . trigger ( 'click' ) ;
315
+ await wrapper . vm . $nextTick ( ) ;
306
316
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isOpen ) ;
307
317
link . trigger ( 'click' ) ;
318
+ await wrapper . vm . $nextTick ( ) ;
308
319
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
309
320
} ) ;
310
321
@@ -323,18 +334,22 @@ describe('NavBase', () => {
323
334
wrapper = await createWrapper ( ) ;
324
335
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isSticking ) ;
325
336
wrapper . vm . onIntersect ( { intersectionRatio : 0.9 } ) ;
337
+ await wrapper . vm . $nextTick ( ) ;
326
338
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isSticking ) ;
327
339
window . scrollY = 1 ;
328
340
wrapper . vm . onIntersect ( { intersectionRatio : 0.5 } ) ;
341
+ await wrapper . vm . $nextTick ( ) ;
329
342
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isSticking ) ;
330
343
} ) ;
331
344
332
345
it ( 'adds a class when sticking to the top' , async ( ) => {
333
346
wrapper = await createWrapper ( ) ;
334
347
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isSticking ) ;
335
348
wrapper . vm . onIntersect ( { intersectionRatio : 0.9 } ) ;
349
+ await wrapper . vm . $nextTick ( ) ;
336
350
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isSticking ) ;
337
351
wrapper . vm . onIntersect ( { intersectionRatio : 1 } ) ;
352
+ await wrapper . vm . $nextTick ( ) ;
338
353
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isSticking ) ;
339
354
} ) ;
340
355
@@ -353,6 +368,7 @@ describe('NavBase', () => {
353
368
const link = wrapper . findComponent ( 'a.nav-menucta' ) ;
354
369
// open the nav
355
370
link . trigger ( 'click' ) ;
371
+ await wrapper . vm . $nextTick ( ) ;
356
372
expect ( wrapper . emitted ( 'change' ) ) . toEqual ( [ [ true ] ] ) ;
357
373
expect ( wrapper . emitted ( 'open' ) ) . toEqual ( [ [ ] ] ) ;
358
374
expect ( wrapper . emitted ( 'close' ) ) . toBeFalsy ( ) ;
@@ -367,6 +383,7 @@ describe('NavBase', () => {
367
383
expect ( wrapper . emitted ( 'opened' ) ) . toEqual ( [ [ ] ] ) ;
368
384
// close the nav
369
385
link . trigger ( 'click' ) ;
386
+ await wrapper . vm . $nextTick ( ) ;
370
387
// assert the `change` and `close` event are emitted
371
388
expect ( wrapper . emitted ( 'change' ) ) . toEqual ( [ [ true ] , [ false ] ] ) ;
372
389
expect ( wrapper . emitted ( 'close' ) ) . toEqual ( [ [ ] ] ) ;
@@ -446,6 +463,7 @@ describe('NavBase', () => {
446
463
wrapper = await createWrapper ( ) ;
447
464
const link = wrapper . findComponent ( { ref : 'axToggle' } ) ;
448
465
link . trigger ( 'click' ) ;
466
+ await wrapper . vm . $nextTick ( ) ;
449
467
// simulate end of transitions
450
468
emitEndOfTrayTransition ( wrapper ) ;
451
469
// assert the lock is called once
@@ -494,16 +512,17 @@ describe('NavBase', () => {
494
512
// manually focus to fix JSDom issue
495
513
navToggle . element . focus ( ) ;
496
514
navToggle . trigger ( 'click' ) ;
515
+ await wrapper . vm . $nextTick ( ) ;
497
516
expect ( blurSpy ) . toHaveBeenCalledTimes ( 1 ) ;
498
517
// assert focus is on the body
499
518
expect ( document . activeElement ) . toEqual ( document . body ) ;
500
519
} ) ;
501
520
502
521
it ( 'changes the sibling visibility to `hidden` on expand' , async ( ) => {
503
522
wrapper = await createWrapper ( ) ;
504
-
505
523
expect ( changeElementVOVisibility . hide ) . toHaveBeenCalledTimes ( 0 ) ;
506
524
wrapper . findComponent ( { ref : 'axToggle' } ) . trigger ( 'click' ) ;
525
+ await wrapper . vm . $nextTick ( ) ;
507
526
expect ( changeElementVOVisibility . hide ) . toHaveBeenCalledTimes ( 1 ) ;
508
527
expect ( changeElementVOVisibility . hide ) . toHaveBeenCalledWith ( wrapper . vm . $refs . wrapper ) ;
509
528
} ) ;
@@ -516,6 +535,7 @@ describe('NavBase', () => {
516
535
await wrapper . vm . $nextTick ( ) ;
517
536
expect ( changeElementVOVisibility . hide ) . toHaveBeenCalledTimes ( 1 ) ;
518
537
wrapper . findComponent ( { ref : 'axToggle' } ) . trigger ( 'click' ) ;
538
+ await wrapper . vm . $nextTick ( ) ;
519
539
expect ( changeElementVOVisibility . show ) . toHaveBeenCalledTimes ( 1 ) ;
520
540
expect ( changeElementVOVisibility . show ) . toHaveBeenCalledWith ( wrapper . vm . $refs . wrapper ) ;
521
541
} ) ;
@@ -527,9 +547,11 @@ describe('NavBase', () => {
527
547
} ) ;
528
548
// assert it only works for Escape key
529
549
window . dispatchEvent ( createEvent ( 'keydown' , { key : 'leftArrow' } ) ) ;
550
+ await wrapper . vm . $nextTick ( ) ;
530
551
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isOpen ) ;
531
552
// press Esc
532
553
window . dispatchEvent ( createEvent ( 'keydown' , { key : 'Escape' } ) ) ;
554
+ await wrapper . vm . $nextTick ( ) ;
533
555
// assert its closed
534
556
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
535
557
// assert the toggle is focused
@@ -541,6 +563,7 @@ describe('NavBase', () => {
541
563
data : ( ) => ( { isOpen : true } ) ,
542
564
} ) ;
543
565
window . dispatchEvent ( createEvent ( 'popstate' ) ) ;
566
+ await wrapper . vm . $nextTick ( ) ;
544
567
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
545
568
} ) ;
546
569
@@ -549,6 +572,7 @@ describe('NavBase', () => {
549
572
data : ( ) => ( { isOpen : true } ) ,
550
573
} ) ;
551
574
window . dispatchEvent ( createEvent ( 'orientationchange' ) ) ;
575
+ await wrapper . vm . $nextTick ( ) ;
552
576
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
553
577
} ) ;
554
578
@@ -557,6 +581,7 @@ describe('NavBase', () => {
557
581
data : ( ) => ( { isOpen : true } ) ,
558
582
} ) ;
559
583
document . dispatchEvent ( createEvent ( 'click' ) ) ;
584
+ await wrapper . vm . $nextTick ( ) ;
560
585
expect ( wrapper . classes ( ) ) . not . toContain ( NavStateClasses . isOpen ) ;
561
586
} ) ;
562
587
@@ -566,6 +591,7 @@ describe('NavBase', () => {
566
591
} ) ;
567
592
const target = wrapper . findComponent ( '.nav__background' ) . element ;
568
593
document . dispatchEvent ( createEvent ( 'click' , { target } ) ) ;
594
+ await wrapper . vm . $nextTick ( ) ;
569
595
expect ( wrapper . classes ( ) ) . toContain ( NavStateClasses . isOpen ) ;
570
596
} ) ;
571
597
0 commit comments