Skip to content

Commit 447cdb4

Browse files
committed
Fix NavBase.spec.js
1 parent ddda05e commit 447cdb4

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

tests/unit/components/NavBase.spec.js

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ describe('NavBase', () => {
177177
currentBreakpoint: BreakpointName.large,
178178
});
179179
preTitleProps.closeNav();
180+
await wrapper.vm.$nextTick();
180181
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
181182
expect(preTitleProps).toEqual({
182183
className: 'pre-title',
@@ -199,8 +200,10 @@ describe('NavBase', () => {
199200
// assert the nav toggling works
200201
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
201202
toggle.trigger('click');
203+
await wrapper.vm.$nextTick();
202204
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
203205
toggle.trigger('click');
206+
await wrapper.vm.$nextTick();
204207
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
205208
});
206209

@@ -256,6 +259,7 @@ describe('NavBase', () => {
256259
await wrapper.vm.$nextTick();
257260
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
258261
tray.find('.with-anchor a').trigger('click');
262+
await wrapper.vm.$nextTick();
259263
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
260264
});
261265

@@ -277,22 +281,27 @@ describe('NavBase', () => {
277281
it('adds extra classes to stop scrolling while animating the tray up/down', async () => {
278282
wrapper = await createWrapper();
279283
wrapper.findComponent({ ref: 'axToggle' }).trigger('click');
284+
await wrapper.vm.$nextTick();
280285
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
281286
expect(wrapper.classes()).toContain(NavStateClasses.isTransitioning);
282287
// assert it removes the class, after transition is done
283288
emitEndOfTrayTransition(wrapper, 'height');
289+
await wrapper.vm.$nextTick();
284290
expect(wrapper.classes()).toContain(NavStateClasses.isTransitioning);
285291
// assert it only tracks transform property
286292
emitEndOfTrayTransition(wrapper);
293+
await wrapper.vm.$nextTick();
287294
// assert the class is no more
288295
expect(wrapper.classes()).not.toContain(NavStateClasses.isTransitioning);
289296
// close the nav
290297
wrapper.findComponent({ ref: 'axToggle' }).trigger('click');
298+
await wrapper.vm.$nextTick();
291299
// assert the correct classes are there
292300
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
293301
expect(wrapper.classes()).toContain(NavStateClasses.isTransitioning);
294302
// end the transition
295303
emitEndOfTrayTransition(wrapper);
304+
await wrapper.vm.$nextTick();
296305
// assert the class is no longer there
297306
expect(wrapper.classes()).not.toContain(NavStateClasses.isTransitioning);
298307
});
@@ -303,8 +312,10 @@ describe('NavBase', () => {
303312
expect(link.attributes()).toHaveProperty('tabindex', '-1');
304313
expect(link.attributes()).toHaveProperty('href', '#');
305314
link.trigger('click');
315+
await wrapper.vm.$nextTick();
306316
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
307317
link.trigger('click');
318+
await wrapper.vm.$nextTick();
308319
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
309320
});
310321

@@ -323,18 +334,22 @@ describe('NavBase', () => {
323334
wrapper = await createWrapper();
324335
expect(wrapper.classes()).not.toContain(NavStateClasses.isSticking);
325336
wrapper.vm.onIntersect({ intersectionRatio: 0.9 });
337+
await wrapper.vm.$nextTick();
326338
expect(wrapper.classes()).not.toContain(NavStateClasses.isSticking);
327339
window.scrollY = 1;
328340
wrapper.vm.onIntersect({ intersectionRatio: 0.5 });
341+
await wrapper.vm.$nextTick();
329342
expect(wrapper.classes()).toContain(NavStateClasses.isSticking);
330343
});
331344

332345
it('adds a class when sticking to the top', async () => {
333346
wrapper = await createWrapper();
334347
expect(wrapper.classes()).not.toContain(NavStateClasses.isSticking);
335348
wrapper.vm.onIntersect({ intersectionRatio: 0.9 });
349+
await wrapper.vm.$nextTick();
336350
expect(wrapper.classes()).toContain(NavStateClasses.isSticking);
337351
wrapper.vm.onIntersect({ intersectionRatio: 1 });
352+
await wrapper.vm.$nextTick();
338353
expect(wrapper.classes()).not.toContain(NavStateClasses.isSticking);
339354
});
340355

@@ -353,6 +368,7 @@ describe('NavBase', () => {
353368
const link = wrapper.findComponent('a.nav-menucta');
354369
// open the nav
355370
link.trigger('click');
371+
await wrapper.vm.$nextTick();
356372
expect(wrapper.emitted('change')).toEqual([[true]]);
357373
expect(wrapper.emitted('open')).toEqual([[]]);
358374
expect(wrapper.emitted('close')).toBeFalsy();
@@ -367,6 +383,7 @@ describe('NavBase', () => {
367383
expect(wrapper.emitted('opened')).toEqual([[]]);
368384
// close the nav
369385
link.trigger('click');
386+
await wrapper.vm.$nextTick();
370387
// assert the `change` and `close` event are emitted
371388
expect(wrapper.emitted('change')).toEqual([[true], [false]]);
372389
expect(wrapper.emitted('close')).toEqual([[]]);
@@ -446,6 +463,7 @@ describe('NavBase', () => {
446463
wrapper = await createWrapper();
447464
const link = wrapper.findComponent({ ref: 'axToggle' });
448465
link.trigger('click');
466+
await wrapper.vm.$nextTick();
449467
// simulate end of transitions
450468
emitEndOfTrayTransition(wrapper);
451469
// assert the lock is called once
@@ -494,16 +512,17 @@ describe('NavBase', () => {
494512
// manually focus to fix JSDom issue
495513
navToggle.element.focus();
496514
navToggle.trigger('click');
515+
await wrapper.vm.$nextTick();
497516
expect(blurSpy).toHaveBeenCalledTimes(1);
498517
// assert focus is on the body
499518
expect(document.activeElement).toEqual(document.body);
500519
});
501520

502521
it('changes the sibling visibility to `hidden` on expand', async () => {
503522
wrapper = await createWrapper();
504-
505523
expect(changeElementVOVisibility.hide).toHaveBeenCalledTimes(0);
506524
wrapper.findComponent({ ref: 'axToggle' }).trigger('click');
525+
await wrapper.vm.$nextTick();
507526
expect(changeElementVOVisibility.hide).toHaveBeenCalledTimes(1);
508527
expect(changeElementVOVisibility.hide).toHaveBeenCalledWith(wrapper.vm.$refs.wrapper);
509528
});
@@ -516,6 +535,7 @@ describe('NavBase', () => {
516535
await wrapper.vm.$nextTick();
517536
expect(changeElementVOVisibility.hide).toHaveBeenCalledTimes(1);
518537
wrapper.findComponent({ ref: 'axToggle' }).trigger('click');
538+
await wrapper.vm.$nextTick();
519539
expect(changeElementVOVisibility.show).toHaveBeenCalledTimes(1);
520540
expect(changeElementVOVisibility.show).toHaveBeenCalledWith(wrapper.vm.$refs.wrapper);
521541
});
@@ -527,9 +547,11 @@ describe('NavBase', () => {
527547
});
528548
// assert it only works for Escape key
529549
window.dispatchEvent(createEvent('keydown', { key: 'leftArrow' }));
550+
await wrapper.vm.$nextTick();
530551
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
531552
// press Esc
532553
window.dispatchEvent(createEvent('keydown', { key: 'Escape' }));
554+
await wrapper.vm.$nextTick();
533555
// assert its closed
534556
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
535557
// assert the toggle is focused
@@ -541,6 +563,7 @@ describe('NavBase', () => {
541563
data: () => ({ isOpen: true }),
542564
});
543565
window.dispatchEvent(createEvent('popstate'));
566+
await wrapper.vm.$nextTick();
544567
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
545568
});
546569

@@ -549,6 +572,7 @@ describe('NavBase', () => {
549572
data: () => ({ isOpen: true }),
550573
});
551574
window.dispatchEvent(createEvent('orientationchange'));
575+
await wrapper.vm.$nextTick();
552576
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
553577
});
554578

@@ -557,6 +581,7 @@ describe('NavBase', () => {
557581
data: () => ({ isOpen: true }),
558582
});
559583
document.dispatchEvent(createEvent('click'));
584+
await wrapper.vm.$nextTick();
560585
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
561586
});
562587

@@ -566,6 +591,7 @@ describe('NavBase', () => {
566591
});
567592
const target = wrapper.findComponent('.nav__background').element;
568593
document.dispatchEvent(createEvent('click', { target }));
594+
await wrapper.vm.$nextTick();
569595
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
570596
});
571597

0 commit comments

Comments
 (0)