Skip to content

Commit 32c81f8

Browse files
committed
WIP: Update @vue/test-utils
1 parent a9b0b70 commit 32c81f8

15 files changed

+7400
-18900
lines changed

package-lock.json

Lines changed: 7356 additions & 18861 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"@vue/cli-plugin-unit-jest": "^5.0.8",
4040
"@vue/cli-service": "^5.0.8",
4141
"@vue/eslint-config-airbnb": "^6.0.0",
42-
"@vue/test-utils": "1.0.0-beta.27",
42+
"@vue/test-utils": "1.3.6",
4343
"@vue/vue2-jest": "^27.0.0-alpha.2",
4444
"babel-jest": "^27.0.6",
4545
"eslint": "^7.32.0",

tests/unit/components/Article/Layouts/ContentAndMedia.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ describe('ContentAndMedia', () => {
3636
expect(wrapper.is('div.content-and-media')).toBe(true);
3737
});
3838

39-
it('renders the `mediaPosition` classname', () => {
39+
it('renders the `mediaPosition` classname', async () => {
4040
expect(wrapper.is('.content-and-media.media-trailing')).toBe(true);
4141

42-
wrapper.setProps({ mediaPosition: MediaPosition.leading });
42+
await wrapper.setProps({ mediaPosition: MediaPosition.leading });
4343
expect(wrapper.classes('media-leading')).toBe(true);
4444
expect(wrapper.classes('media-trailing')).toBe(false);
4545

46-
wrapper.setProps({ mediaPosition: MediaPosition.trailing });
46+
await wrapper.setProps({ mediaPosition: MediaPosition.trailing });
4747
expect(wrapper.classes('media-leading')).toBe(false);
4848
expect(wrapper.classes('media-trailing')).toBe(true);
4949
});

tests/unit/components/ContentNode/CollapsibleCodeListing.spec.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,24 +87,24 @@ describe('CollapsibleCodeListing', () => {
8787
expect(containers.at(2).contains('.code-line')).toBe(true);
8888
});
8989

90-
it('adds collapsed class to all collapsible containers when collapsed', () => {
90+
it('adds collapsed class to all collapsible containers when collapsed', async () => {
9191
expect(wrapper.findAll('.collapsed').length).toBe(0);
92-
wrapper.setProps({ collapsed: true });
92+
await wrapper.setProps({ collapsed: true });
9393
expect(wrapper.findAll('.collapsed').length).toBe(1);
9494
});
9595

96-
it('does not show line numbers when showLineNumbers is false', () => {
96+
it('does not show line numbers when showLineNumbers is false', async () => {
9797
let number = wrapper.element.querySelector('.code-number');
9898
expect(number.style.display).toBe('');
99-
wrapper.setProps({ showLineNumbers: false });
99+
await wrapper.setProps({ showLineNumbers: false });
100100
number = wrapper.element.querySelector('.code-number');
101101
expect(number.style.display).toBe('none');
102102
});
103103

104104
it('adds a class `single-line` if only one line of code is provided', async () => {
105105
expect(wrapper.classes()).not.toContain('single-line');
106106

107-
wrapper.setProps({
107+
await wrapper.setProps({
108108
content: [
109109
{
110110
collapsible: false,

tests/unit/components/DocumentationTopic/ContentTable.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ describe('ContentTable', () => {
4646
expect(p.html()).toBe(slots.default);
4747
});
4848

49-
it('renders `minimized-container` class if in minimized mode', () => {
49+
it('renders `minimized-container` class if in minimized mode', async () => {
5050
const container = wrapper.find('.container');
5151
expect(container.classes()).not.toContain('minimized-container');
5252

53-
wrapper.setProps({ enableMinimized: true });
53+
await wrapper.setProps({ enableMinimized: true });
5454
expect(container.classes()).toContain('minimized-container');
5555
});
5656
});

tests/unit/components/DocumentationTopic/PrimaryContent/DeclarationTokenGroup.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ describe('DeclarationTokenGroup', () => {
2828

2929
it('does not render anything if `type` is not provided', () => {
3030
const wrapper = shallowMount(DeclarationTokenGroup);
31-
expect(wrapper.html()).toBe(undefined);
31+
expect(wrapper.html()).toBe('');
3232
});
3333

3434
it('does not render anything if `type` is an empty array', () => {
3535
const wrapper = shallowMount(DeclarationTokenGroup, { propsData: { type: [] } });
36-
expect(wrapper.html()).toBe(undefined);
36+
expect(wrapper.html()).toBe('');
3737
});
3838
});

tests/unit/components/GenericError.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ describe('GenericError', () => {
4040
expect(content.text()).toBe(slotText);
4141
});
4242

43-
it('renders a custom message', () => {
43+
it('renders a custom message', async () => {
4444
const message = 'Whoops!';
45-
wrapper.setProps({ message });
45+
await wrapper.setProps({ message });
4646

4747
const title = wrapper.find('.title');
4848
expect(title.exists()).toBe(true);

tests/unit/components/InitialLoadingPlaceholder.spec.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('InitialLoadingPlaceholder', () => {
2424
jest.clearAllMocks();
2525
});
2626

27-
it('renders the InitialLoadingPlaceholder', () => {
27+
it('renders the InitialLoadingPlaceholder', async () => {
2828
const wrapper = shallowMount(InitialLoadingPlaceholder, {
2929
mocks,
3030
});
@@ -35,17 +35,19 @@ describe('InitialLoadingPlaceholder', () => {
3535
expect(onReady).toHaveBeenCalledTimes(1);
3636
// call the registered callback for `onReady`
3737
onReady.mock.calls[0][0].call();
38-
expect(wrapper.html()).toBeFalsy();
38+
await wrapper.vm.$nextTick();
39+
expect(wrapper.html()).toBe('');
3940
});
4041

41-
it('sets the placeholder as ready, even if the router fails to load', () => {
42+
it('sets the placeholder as ready, even if the router fails to load', async () => {
4243
const wrapper = shallowMount(InitialLoadingPlaceholder, {
4344
mocks,
4445
});
4546
expect(wrapper.html()).toBeTruthy();
4647
expect(onReady).toHaveBeenCalledTimes(1);
4748
// call the registered error callback for `onReady`
4849
onReady.mock.calls[0][1].call();
49-
expect(wrapper.html()).toBeFalsy();
50+
await wrapper.vm.$nextTick();
51+
expect(wrapper.html()).toBe('');
5052
});
5153
});

tests/unit/components/LinkableElement.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ describe('LinkableElement', () => {
3636
expect(wrapper.is('div#foo')).toBe(true);
3737
});
3838

39-
it('renders with an optionally provided top level tag', () => {
40-
wrapper.setProps({ tag: 'h2' });
39+
it('renders with an optionally provided top level tag', async () => {
40+
await wrapper.setProps({ tag: 'h2' });
4141
expect(wrapper.is('h2#foo')).toBe(true);
4242
});
4343

tests/unit/components/NavBase.spec.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,28 +73,28 @@ describe('NavBase', () => {
7373
it('adds a solid background class', async () => {
7474
wrapper = await createWrapper();
7575
expect(wrapper.classes()).not.toContain(NavStateClasses.hasSolidBackground);
76-
wrapper.setProps({ hasSolidBackground: true });
76+
await wrapper.setProps({ hasSolidBackground: true });
7777
expect(wrapper.classes()).toContain(NavStateClasses.hasSolidBackground);
7878
});
7979

8080
it('adds a no border class', async () => {
8181
wrapper = await createWrapper();
8282
expect(wrapper.classes()).not.toContain(NavStateClasses.hasNoBorder);
83-
wrapper.setProps({ hasNoBorder: true });
83+
await wrapper.setProps({ hasNoBorder: true });
8484
expect(wrapper.classes()).toContain(NavStateClasses.hasNoBorder);
8585
});
8686

8787
it('adds a full-width border class', async () => {
8888
wrapper = await createWrapper();
8989
expect(wrapper.classes()).not.toContain(NavStateClasses.hasFullWidthBorder);
90-
wrapper.setProps({ hasFullWidthBorder: true });
90+
await wrapper.setProps({ hasFullWidthBorder: true });
9191
expect(wrapper.classes()).toContain(NavStateClasses.hasFullWidthBorder);
9292
});
9393

9494
it('adds a dark-theme class', async () => {
9595
wrapper = await createWrapper();
9696
expect(wrapper.classes()).not.toContain(NavStateClasses.isDark);
97-
wrapper.setProps({ isDark: true });
97+
await wrapper.setProps({ isDark: true });
9898
expect(wrapper.classes()).toContain(NavStateClasses.isDark);
9999
});
100100

@@ -116,9 +116,11 @@ describe('NavBase', () => {
116116
expect(overlay.exists()).toBe(true);
117117
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
118118
overlay.trigger('click');
119+
await wrapper.vm.$nextTick();
119120
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
120121
// assert clicking again does not toggle on
121122
overlay.trigger('click');
123+
await wrapper.vm.$nextTick();
122124
expect(wrapper.classes()).not.toContain(NavStateClasses.isOpen);
123125
});
124126

@@ -165,6 +167,7 @@ describe('NavBase', () => {
165167
currentBreakpoint: BreakpointName.large,
166168
});
167169
wrapper.find('a.nav-menucta').trigger('click');
170+
await wrapper.vm.$nextTick();
168171
expect(wrapper.classes()).toContain(NavStateClasses.isOpen);
169172
expect(preTitleProps).toEqual({
170173
className: 'pre-title',

0 commit comments

Comments
 (0)