Skip to content

Commit c2a25b8

Browse files
committed
Wait for wrapper.setData
1 parent 5cd9a3b commit c2a25b8

21 files changed

+164
-164
lines changed

tests/unit/App.spec.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ describe('App', () => {
135135
getSetting.mockReturnValue(true);
136136

137137
const wrapper = createWrapper();
138-
wrapper.setData({
138+
await wrapper.setData({
139139
appState: {
140140
...wrapper.vm.appState,
141141
availableLocales,
@@ -146,14 +146,14 @@ describe('App', () => {
146146
expect(SuggestLangComponent.exists()).toBe(true);
147147
});
148148

149-
it('renders LocaleSelector if enablei18n is true', () => {
149+
it('renders LocaleSelector if enablei18n is true', async () => {
150150
const { LocaleSelector } = App.components;
151151
({ getSetting } = require('docc-render/utils/theme-settings'));
152152
getSetting.mockReturnValue(true);
153153

154154
const wrapper = createWrapper();
155155
expect(wrapper.findComponent(LocaleSelector).exists()).toBe(false);
156-
wrapper.setData({
156+
await wrapper.setData({
157157
appState: {
158158
...wrapper.vm.appState,
159159
availableLocales,
@@ -163,14 +163,14 @@ describe('App', () => {
163163
expect(wrapper.findComponent(LocaleSelector).exists()).toBe(true);
164164
});
165165

166-
it('does not render LocaleSelector if there is less than two available locales', () => {
166+
it('does not render LocaleSelector if there is less than two available locales', async () => {
167167
const { LocaleSelector } = App.components;
168168
({ getSetting } = require('docc-render/utils/theme-settings'));
169169
getSetting.mockReturnValue(true);
170170

171171
const wrapper = createWrapper();
172172
expect(wrapper.findComponent(LocaleSelector).exists()).toBe(false);
173-
wrapper.setData({
173+
await wrapper.setData({
174174
appState: {
175175
...wrapper.vm.appState,
176176
availableLocales: ['en-US'],
@@ -231,11 +231,11 @@ describe('App', () => {
231231
expect(wrapper.findComponent('router-view-stub').exists()).toBe(false);
232232
});
233233

234-
it('renders a default `Footer` for non-IDE targets', () => {
234+
it('renders a default `Footer` for non-IDE targets', async () => {
235235
const wrapper = createWrapper();
236236
expect(wrapper.contains(Footer)).toBe(true);
237237

238-
wrapper.setData({ isTargetIDE: true });
238+
await wrapper.setData({ isTargetIDE: true });
239239
expect(wrapper.contains(Footer)).toBe(false);
240240
});
241241

@@ -295,7 +295,7 @@ describe('App', () => {
295295
matches: true,
296296
});
297297
const wrapper = createWrapper();
298-
wrapper.setData({
298+
await wrapper.setData({
299299
appState: {
300300
...wrapper.vm.appState,
301301
preferredColorScheme: ColorScheme.auto,
@@ -308,7 +308,7 @@ describe('App', () => {
308308

309309
it('dynamically changes the data, upon color scheme change (in auto mode)', async () => {
310310
const wrapper = createWrapper();
311-
wrapper.setData({
311+
await wrapper.setData({
312312
appState: {
313313
...wrapper.vm.appState,
314314
preferredColorScheme: ColorScheme.auto,
@@ -323,7 +323,7 @@ describe('App', () => {
323323

324324
it('updates the values applied to the root, if the colors update', async () => {
325325
const wrapper = createWrapper();
326-
wrapper.setData({
326+
await wrapper.setData({
327327
appState: {
328328
...wrapper.vm.appState,
329329
preferredColorScheme: ColorScheme.auto,

tests/unit/components/ColorSchemeToggle.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@ describe('ColorSchemeToggle', () => {
6969
expect(inputs.at(1).element.checked).toBe(false);
7070
expect(inputs.at(2).element.checked).toBe(true);
7171

72-
wrapper.setData({
72+
await wrapper.setData({
7373
appState: { preferredColorScheme: dark },
7474
});
7575
await wrapper.vm.$nextTick();
7676
expect(inputs.at(0).element.checked).toBe(false);
7777
expect(inputs.at(1).element.checked).toBe(true);
7878
expect(inputs.at(2).element.checked).toBe(false);
7979

80-
wrapper.setData({
80+
await wrapper.setData({
8181
appState: { preferredColorScheme: light },
8282
});
8383
await wrapper.vm.$nextTick();
@@ -94,7 +94,7 @@ describe('ColorSchemeToggle', () => {
9494

9595
it('sets body[data-color-scheme] to match the preferred color scheme', async () => {
9696
expect(document.body.dataset.colorScheme).toBe(auto);
97-
wrapper.setData({
97+
await wrapper.setData({
9898
appState: { preferredColorScheme: dark },
9999
});
100100
await wrapper.vm.$nextTick();
@@ -103,7 +103,7 @@ describe('ColorSchemeToggle', () => {
103103
});
104104

105105
it('only render Light/Dark options when Auto is not supported by device', async () => {
106-
wrapper.setData({
106+
await wrapper.setData({
107107
appState: {
108108
preferredColorScheme: light,
109109
supportsAutoColorScheme: false,

tests/unit/components/DocumentationLayout.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ describe('DocumentationLayout', () => {
353353

354354
it('does not apply display none to Navigator if is open', async () => {
355355
// renders an open navigator
356-
wrapper.setData({
356+
await wrapper.setData({
357357
sidenavVisibleOnMobile: true,
358358
});
359359
await wrapper.setProps({

tests/unit/components/DocumentationTopic.spec.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -747,8 +747,8 @@ describe('DocumentationTopic', () => {
747747
expect(description.classes()).not.toContain('after-enhanced-hero');
748748
});
749749

750-
it('does not render the description section if other declaration list is expanded', () => {
751-
wrapper.setData({
750+
it('does not render the description section if other declaration list is expanded', async () => {
751+
await wrapper.setData({
752752
declListExpanded: true,
753753
});
754754
const description = wrapper.findComponent('.description');
@@ -1125,7 +1125,7 @@ describe('DocumentationTopic', () => {
11251125
expect(wrapper.findComponent(OnThisPageStickyContainer).exists()).toBe(true);
11261126
expect(wrapper.findComponent(OnThisPageNav).exists()).toBe(false);
11271127
// show the nav
1128-
wrapper.setData({
1128+
await wrapper.setData({
11291129
topicState: {
11301130
onThisPageSections: [{ anchor: 'foo' }, { anchor: 'bar' }, { anchor: 'baz' }],
11311131
},
@@ -1136,15 +1136,15 @@ describe('DocumentationTopic', () => {
11361136
it('hides the `OnThisPageStickyContainer`, if the store.contentWidth is below a threshold', async () => {
11371137
expect(wrapper.classes()).not.toContain('with-on-this-page');
11381138
await wrapper.setProps({ enableOnThisPageNav: true });
1139-
wrapper.setData({
1139+
await wrapper.setData({
11401140
topicState: {
11411141
contentWidth: 200,
11421142
},
11431143
});
11441144
const container = wrapper.findComponent(OnThisPageStickyContainer);
11451145
expect(container.exists()).toBe(true);
11461146
expect(container.isVisible()).toBe(false);
1147-
wrapper.setData({
1147+
await wrapper.setData({
11481148
topicState: {
11491149
contentWidth: ON_THIS_PAGE_CONTAINER_BREAKPOINT + 10,
11501150
},
@@ -1184,7 +1184,7 @@ describe('DocumentationTopic', () => {
11841184
});
11851185
expect(store.updateReferences).not.toHaveBeenCalled();
11861186

1187-
wrapper.setData({
1187+
await wrapper.setData({
11881188
indexState: { includedArchiveIdentifiers: ['Foo', 'Bar'] },
11891189
});
11901190
await wrapper.vm.$nextTick();

tests/unit/components/DocumentationTopic/DocumentationNav/LanguageToggle.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ describe('LanguageToggle', () => {
228228
});
229229

230230
it('clears out the language query if language is Swift', async () => {
231-
wrapper.setData({ languageModel: Language.objectiveC.key.api });
231+
await wrapper.setData({ languageModel: Language.objectiveC.key.api });
232232

233233
const link = wrapper.findComponent('.language-list-container').find('a.nav-menu-link');
234234
link.trigger('click');

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe('TopicsLinkCardGrid', () => {
4343
});
4444

4545
describe('compactGrid with pages', () => {
46-
it('renders a pager with right number of pages per breakpoint', () => {
46+
it('renders a pager with right number of pages per breakpoint', async () => {
4747
const wrapper = createWrapper({
4848
propsData: {
4949
topicStyle: TopicSectionsStyle.compactGrid,
@@ -57,21 +57,21 @@ describe('TopicsLinkCardGrid', () => {
5757
expect(pager.props('pages').length).toBe(2);
5858

5959
// 10 items => 2 pages at medium breakpoint (6 links per page)
60-
wrapper.setData({ breakpoint: BreakpointName.medium });
60+
await wrapper.setData({ breakpoint: BreakpointName.medium });
6161
pager = wrapper.findComponent(Pager);
6262
expect(pager.exists()).toBe(true);
6363
expect(pager.props('pages').length).toBe(2);
6464

6565
// 10 items => 10 pages at small breakpoint (1 links per page)
66-
wrapper.setData({ breakpoint: BreakpointName.small });
66+
await wrapper.setData({ breakpoint: BreakpointName.small });
6767
pager = wrapper.findComponent(Pager);
6868
expect(pager.exists()).toBe(true);
6969
expect(pager.props('pages').length).toBe(10);
7070
});
7171
});
7272

7373
describe('detailedGrid with pages', () => {
74-
it('renders a pager with the right number of pages per breakpoint', () => {
74+
it('renders a pager with the right number of pages per breakpoint', async () => {
7575
const wrapper = createWrapper({
7676
propsData: {
7777
topicStyle: TopicSectionsStyle.detailedGrid,
@@ -86,13 +86,13 @@ describe('TopicsLinkCardGrid', () => {
8686
expect(pager.props('pages').length).toBe(3);
8787

8888
// 10 items => 5 pages at medium breakpoint (2 links per page)
89-
wrapper.setData({ breakpoint: BreakpointName.medium });
89+
await wrapper.setData({ breakpoint: BreakpointName.medium });
9090
pager = wrapper.findComponent(Pager);
9191
expect(pager.exists()).toBe(true);
9292
expect(pager.props('pages').length).toBe(5);
9393

9494
// 10 items => 10 pages at small breakpoint (1 links per page)
95-
wrapper.setData({ breakpoint: BreakpointName.small });
95+
await wrapper.setData({ breakpoint: BreakpointName.small });
9696
pager = wrapper.findComponent(Pager);
9797
expect(pager.exists()).toBe(true);
9898
expect(pager.props('pages').length).toBe(10);

tests/unit/components/Filter/FilterInput.spec.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ describe('FilterInput', () => {
105105
});
106106

107107
it('renders focus class if showSuggestedTags is true and border style is not prevented', async () => {
108-
wrapper.setData({ showSuggestedTags: true });
108+
await wrapper.setData({ showSuggestedTags: true });
109109
await wrapper.setProps({ preventBorderStyle: false });
110110
await wrapper.vm.$nextTick();
111111

@@ -118,8 +118,8 @@ describe('FilterInput', () => {
118118
expect(wrapper.findComponent('.filter.focus').exists()).toBe(false);
119119
});
120120

121-
it('does not render focus class if showSuggestedTags is false', () => {
122-
wrapper.setData({ showSuggestedTags: false });
121+
it('does not render focus class if showSuggestedTags is false', async () => {
122+
await wrapper.setData({ showSuggestedTags: false });
123123

124124
expect(wrapper.findComponent('.filter.focus').exists()).toBe(false);
125125
});
@@ -158,7 +158,7 @@ describe('FilterInput', () => {
158158
expect(inputBoxWrapper.classes('scrolling')).toBe(false);
159159

160160
// simulate the `handleScrollbar` mixin triggering ON
161-
wrapper.setData({ isScrolling: true });
161+
await wrapper.setData({ isScrolling: true });
162162
await wrapper.vm.$nextTick();
163163

164164
expect(inputBoxWrapper.classes('scrolling')).toBe(true);
@@ -904,16 +904,16 @@ describe('FilterInput', () => {
904904
expect(wrapper.vm.keyboardIsVirtual).toBe(false);
905905
});
906906

907-
it('deletes the last tag, if delete button is pressed on a virtual keyboard, when no input', () => {
908-
wrapper.setData({ keyboardIsVirtual: true });
907+
it('deletes the last tag, if delete button is pressed on a virtual keyboard, when no input', async () => {
908+
await wrapper.setData({ keyboardIsVirtual: true });
909909

910910
wrapper.findComponent('input').trigger('keydown.delete');
911911

912912
expect(wrapper.emitted('update:selectedTags')).toBeTruthy();
913913
});
914914

915915
it('deletes selected tag when tag is clicked on a virtual keyboard', async () => {
916-
wrapper.setData({ keyboardIsVirtual: true });
916+
await wrapper.setData({ keyboardIsVirtual: true });
917917
await wrapper.setProps({ selectedTags: [selectedTag, 'Tag2'] });
918918
await wrapper.vm.$nextTick();
919919

@@ -924,7 +924,7 @@ describe('FilterInput', () => {
924924
});
925925

926926
it('deletes selected tag debounced', async () => {
927-
wrapper.setData({ keyboardIsVirtual: true });
927+
await wrapper.setData({ keyboardIsVirtual: true });
928928

929929
const selectedTags = wrapper.findComponent({ ref: 'selectedTags' });
930930
selectedTags.vm.$emit('click-tags', { tagName: selectedTag });

tests/unit/components/Filter/TagList.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ describe('TagList', () => {
3737
expect(tags.length).toBe(2);
3838
});
3939

40-
it('renders an `scrolling` class inside the tag list if `isScrolling` is true', () => {
40+
it('renders an `scrolling` class inside the tag list if `isScrolling` is true', async () => {
4141
const list = wrapper.findComponent({ ref: 'scroll-wrapper' });
4242

4343
expect(list.classes('scrolling')).toBe(false);
4444

45-
wrapper.setData({ isScrolling: true });
45+
await wrapper.setData({ isScrolling: true });
4646

4747
expect(list.classes('scrolling')).toBe(true);
4848
});
@@ -165,7 +165,7 @@ describe('TagList', () => {
165165
const input = 'foo';
166166
const space = ' ';
167167
await wrapper.setProps({ input });
168-
wrapper.setData({ focusedIndex: 0 });
168+
await wrapper.setData({ focusedIndex: 0 });
169169
tag.trigger('keydown', { key: alphanumKey });
170170

171171
expect(wrapper.emitted('delete-tag')[0][0].tagName).toEqual(propsData.tags[0]);

tests/unit/components/Navigator/NavigatorCard.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2465,7 +2465,7 @@ describe('NavigatorCard', () => {
24652465
const focusSpy = jest.spyOn(button.element, 'focus');
24662466
await flushPromises();
24672467
// now make the component go away
2468-
wrapper.setData({
2468+
await wrapper.setData({
24692469
nodesToRender: [],
24702470
});
24712471
await flushPromises();

0 commit comments

Comments
 (0)