Skip to content

Commit 5cd9a3b

Browse files
committed
Wait for wrapper.setProps
1 parent c75863c commit 5cd9a3b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+459
-453
lines changed

tests/unit/components/AdjustableSidebarWidth.spec.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ describe('AdjustableSidebarWidth', () => {
210210
expect(FocusTrap.mock.results[0].value.start).toHaveBeenCalledTimes(0);
211211
expect(FocusTrap.mock.results[0].value.stop).toHaveBeenCalledTimes(0);
212212
// trigger opening externally
213-
wrapper.setProps({ shownOnMobile: true });
213+
await wrapper.setProps({ shownOnMobile: true });
214214
await flushPromises();
215215
// assert open class attached
216216
expect(aside.classes()).toContain('show-on-mobile');
@@ -225,7 +225,7 @@ describe('AdjustableSidebarWidth', () => {
225225
expect(FocusTrap.mock.results[0].value.start).toHaveBeenCalledTimes(1);
226226
expect(FocusTrap.mock.results[0].value.stop).toHaveBeenCalledTimes(0);
227227
// close again
228-
wrapper.setProps({ shownOnMobile: false });
228+
await wrapper.setProps({ shownOnMobile: false });
229229
await flushPromises();
230230
// assert class
231231
expect(aside.classes()).not.toContain('show-on-mobile');
@@ -244,7 +244,7 @@ describe('AdjustableSidebarWidth', () => {
244244
// assert not open
245245
const aside = wrapper.findComponent('.aside');
246246
// trigger opening externally
247-
wrapper.setProps({ shownOnMobile: true });
247+
await wrapper.setProps({ shownOnMobile: true });
248248
await flushPromises();
249249
// assert open class attached
250250
expect(aside.classes()).toContain('show-on-mobile');
@@ -291,13 +291,13 @@ describe('AdjustableSidebarWidth', () => {
291291
const aside = wrapper.findComponent({ ref: 'aside' });
292292
expect(aside.classes()).not.toContain('hide-on-large');
293293
expect(aside.classes()).not.toContain('sidebar-transitioning');
294-
wrapper.setProps({ hiddenOnLarge: true });
294+
await wrapper.setProps({ hiddenOnLarge: true });
295295
expect(aside.classes()).toContain('hide-on-large');
296296
expect(aside.classes()).toContain('sidebar-transitioning');
297297
expect(aside.attributes()).toMatchObject({
298298
'aria-hidden': 'true',
299299
});
300-
wrapper.setProps({ hiddenOnLarge: false });
300+
await wrapper.setProps({ hiddenOnLarge: false });
301301
expect(wrapper.findComponent({ ref: 'aside' }).classes()).not.toContain('hide-on-large');
302302
expect(aside.classes()).toContain('sidebar-transitioning');
303303
await wrapper.vm.$nextTick();
@@ -468,7 +468,7 @@ describe('AdjustableSidebarWidth', () => {
468468
assertWidth(wrapper, 300); // wrapper is minimum 20% of the screen (1000px)
469469
});
470470

471-
it('force closes the nav, if dragging below the forceClose threshold', () => {
471+
it('force closes the nav, if dragging below the forceClose threshold', async () => {
472472
const wrapper = createWrapper();
473473
const aside = wrapper.findComponent('.aside');
474474
// assert dragging
@@ -483,7 +483,7 @@ describe('AdjustableSidebarWidth', () => {
483483
assertWidth(wrapper, 300); // wrapper is minimum 30% of the screen (1000px)
484484
expect(wrapper.emitted('update:hiddenOnLarge')).toEqual([[true]]);
485485
// simulate event is handled on parent
486-
wrapper.setProps({
486+
await wrapper.setProps({
487487
hiddenOnLarge: true,
488488
});
489489
// drag open now
@@ -498,7 +498,7 @@ describe('AdjustableSidebarWidth', () => {
498498
it('removes any locks or listeners upon destruction', async () => {
499499
const wrapper = createWrapper();
500500
await flushPromises();
501-
wrapper.setProps({ shownOnMobile: true });
501+
await wrapper.setProps({ shownOnMobile: true });
502502
await flushPromises();
503503
wrapper.destroy();
504504
expect(FocusTrap.mock.results[0].value.destroy).toHaveBeenCalledTimes(1);
@@ -612,7 +612,7 @@ describe('AdjustableSidebarWidth', () => {
612612
setContentWidth(wrapper, 99);
613613
expect(store.state.contentWidth).toBe(0);
614614
// setup an external close
615-
wrapper.setProps({ hiddenOnLarge: true });
615+
await wrapper.setProps({ hiddenOnLarge: true });
616616
const aside = wrapper.findComponent('.aside');
617617
aside.trigger('transitionstart', { propertyName: 'width' });
618618
aside.trigger('transitionend', { propertyName: 'width' });
@@ -621,7 +621,7 @@ describe('AdjustableSidebarWidth', () => {
621621
expect(store.state.contentWidth).toBe(99);
622622
// prepare for an external open
623623
setContentWidth(wrapper, 1099);
624-
wrapper.setProps({ hiddenOnLarge: false });
624+
await wrapper.setProps({ hiddenOnLarge: false });
625625
aside.trigger('transitionstart', { propertyName: 'width' });
626626
// assert its the same, until transitions end
627627
expect(store.state.contentWidth).toBe(99);

tests/unit/components/Article.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ describe('Article', () => {
150150
});
151151

152152
describe('without hero section', () => {
153-
beforeEach(() => {
154-
wrapper.setProps({ sections: [] });
153+
beforeEach(async () => {
154+
await wrapper.setProps({ sections: [] });
155155
});
156156

157157
it('does not provide a page title', () => {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ describe('FullWidth', () => {
8181
},
8282
];
8383

84-
beforeEach(() => {
85-
wrapper.setProps({ content });
84+
beforeEach(async () => {
85+
await wrapper.setProps({ content });
8686
});
8787

8888
it('groups headings and subsequent content with `LinkableElement`', () => {

tests/unit/components/Asset.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ describe('Asset', () => {
112112
expect(videoAsset.props('alt')).toBe(video.alt);
113113
});
114114

115-
it('passes down `deviceFrame` to `ReplayableVideoAsset`', () => {
115+
it('passes down `deviceFrame` to `ReplayableVideoAsset`', async () => {
116116
const wrapper = mountAsset('video', { video });
117117
let videoAsset = wrapper.findComponent(ReplayableVideoAsset);
118118
expect(videoAsset.props('deviceFrame')).toBeFalsy();
119-
wrapper.setProps({
119+
await wrapper.setProps({
120120
deviceFrame: 'phone',
121121
});
122122
videoAsset = wrapper.findComponent(ReplayableVideoAsset);

tests/unit/components/BaseDropdown.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ describe('BaseDropdown', () => {
3131
expect(wrapper.classes()).toEqual(['form-element']);
3232
});
3333

34-
it('renders a `select` component', () => {
34+
it('renders a `select` component', async () => {
3535
const wrapper = createWrapper();
3636
// assert select is rendered with correct classes
3737
const select = wrapper.findComponent('select');
3838
expect(select.exists()).toBe(true);
3939
expect(select.classes()).toContain('form-dropdown');
40-
wrapper.setProps({ value: '' });
40+
await wrapper.setProps({ value: '' });
4141
expect(select.classes()).toContain('form-dropdown-selectnone');
4242
});
4343

@@ -136,7 +136,7 @@ describe('BaseDropdown', () => {
136136
expect(icon.attributes()).toHaveProperty('aria-hidden', 'true');
137137
});
138138

139-
it('passes `form-dropdown-selectnone` if value is empty', () => {
139+
it('passes `form-dropdown-selectnone` if value is empty', async () => {
140140
let scopedSlotProps = {};
141141
const wrapper = createWrapper({
142142
scopedSlots: {
@@ -148,7 +148,7 @@ describe('BaseDropdown', () => {
148148
});
149149
expect(scopedSlotProps.dropdownClasses)
150150
.toContainEqual({ [EmptyClass]: false, 'no-eyebrow': true });
151-
wrapper.setProps({
151+
await wrapper.setProps({
152152
value: '',
153153
});
154154
expect(scopedSlotProps.dropdownClasses)

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ describe('Aside', () => {
2323
expect(wrapper.attributes('aria-label')).toBe('note');
2424
});
2525

26-
it('renders a label', () => {
26+
it('renders a label', async () => {
2727
const wrapper = shallowMount(Aside, {
2828
propsData: {
2929
kind: 'experiment',
@@ -33,27 +33,27 @@ describe('Aside', () => {
3333
expect(label.exists()).toBe(true);
3434
expect(label.text()).toBe('aside-kind.experiment');
3535

36-
wrapper.setProps({ kind: 'important' });
36+
await wrapper.setProps({ kind: 'important' });
3737
label = wrapper.findComponent('.label');
3838
expect(label.exists()).toBe(true);
3939
expect(label.text()).toBe('aside-kind.important');
4040

41-
wrapper.setProps({ kind: 'note' });
41+
await wrapper.setProps({ kind: 'note' });
4242
label = wrapper.findComponent('.label');
4343
expect(label.exists()).toBe(true);
4444
expect(label.text()).toBe('aside-kind.note');
4545

46-
wrapper.setProps({ kind: 'tip' });
46+
await wrapper.setProps({ kind: 'tip' });
4747
label = wrapper.findComponent('.label');
4848
expect(label.exists()).toBe(true);
4949
expect(label.text()).toBe('aside-kind.tip');
5050

51-
wrapper.setProps({ kind: 'warning' });
51+
await wrapper.setProps({ kind: 'warning' });
5252
label = wrapper.findComponent('.label');
5353
expect(label.exists()).toBe(true);
5454
expect(label.text()).toBe('aside-kind.warning');
5555

56-
wrapper.setProps({ kind: 'note', name: 'Custom Name' });
56+
await wrapper.setProps({ kind: 'note', name: 'Custom Name' });
5757
label = wrapper.findComponent('.label');
5858
expect(label.exists()).toBe(true);
5959
expect(label.text()).toBe('Custom Name');

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ describe('CodeListing', () => {
179179
await flushPromises();
180180

181181
expect(wrapper.findComponent('.syntax-keyword').text()).toBe('let');
182-
wrapper.setProps({
182+
await wrapper.setProps({
183183
content: ['print("Some Text")'],
184184
});
185185
await flushPromises();
@@ -197,7 +197,7 @@ describe('CodeListing', () => {
197197
await flushPromises();
198198

199199
expect(wrapper.classes()).not.toContain('single-line');
200-
wrapper.setProps({
200+
await wrapper.setProps({
201201
content: content.slice(0, 1),
202202
});
203203

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('Row', () => {
2626
expect(wrapper.text()).toContain('Slot Content');
2727
});
2828

29-
it('renders with columns in mind', () => {
29+
it('renders with columns in mind', async () => {
3030
const wrapper = createWrapper({
3131
propsData: {
3232
columns: { large: 4 },
@@ -36,7 +36,7 @@ describe('Row', () => {
3636
expect(wrapper.vm.style).toHaveProperty('--col-count-large', 4);
3737
expect(wrapper.vm.style).toHaveProperty('--col-count-medium', undefined);
3838
expect(wrapper.vm.style).toHaveProperty('--col-count-small', 1);
39-
wrapper.setProps({
39+
await wrapper.setProps({
4040
columns: {
4141
large: 3,
4242
medium: 5,

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -82,60 +82,60 @@ describe('TabNavigator.spec', () => {
8282
expect(tabnav.props('value')).toEqual(titles[1]);
8383
});
8484

85-
it('selects the added tab when adding a tab', () => {
85+
it('selects the added tab when adding a tab', async () => {
8686
const wrapper = createWrapper();
8787
expect(wrapper.findComponent('.tab-container.active').text()).toBe('First');
8888

89-
wrapper.setProps({ titles: longerTitles });
89+
await wrapper.setProps({ titles: longerTitles });
9090
expect(wrapper.findComponent('.tab-container.active').text()).toBe('Fourth');
9191
const tabnav = wrapper.findComponent(Tabnav);
9292
expect(tabnav.props('value')).toEqual(longerTitles[3]);
9393
});
9494

95-
it('selects first tab when deleting current tab', () => {
95+
it('selects first tab when deleting current tab', async () => {
9696
const wrapper = createWrapper();
97-
wrapper.setProps({ titles: longerTitles });
97+
await wrapper.setProps({ titles: longerTitles });
9898
expect(wrapper.findComponent('.tab-container.active').text()).toBe('Fourth');
9999

100-
wrapper.setProps({ titles });
100+
await wrapper.setProps({ titles });
101101
expect(wrapper.findComponent('.tab-container.active').text()).toBe('First');
102102
const tabnav = wrapper.findComponent(Tabnav);
103103
expect(tabnav.props('value')).toEqual(titles[0]);
104104
});
105105

106-
it('keep currently selected tab when deleting a tab', () => {
106+
it('keep currently selected tab when deleting a tab', async () => {
107107
const wrapper = createWrapper();
108-
wrapper.setProps({ titles: longerTitles });
108+
await wrapper.setProps({ titles: longerTitles });
109109
expect(wrapper.findComponent('.tab-container.active').text()).toBe('Fourth'); // Current tab
110110

111111
const removedTitles = ['Long tab title',
112112
'A Longer tab title', 'added title'];
113-
wrapper.setProps({ titles: removedTitles });
113+
await wrapper.setProps({ titles: removedTitles });
114114
expect(wrapper.findComponent('.tab-container.active').text()).toBe('Fourth'); // Keeps current tab
115115
const tabnav = wrapper.findComponent(Tabnav);
116116
expect(tabnav.props('value')).toEqual(longerTitles[3]);
117117
});
118118

119-
it('selects correct tab when changing a tab', () => {
119+
it('selects correct tab when changing a tab', async () => {
120120
const changedLastTab = ['Long tab title',
121121
'A Longer tab title', 'changed last tab'];
122122
const wrapper = createWrapper();
123123
expect(wrapper.findComponent('.tab-container.active').text()).toBe('First');
124-
wrapper.setProps({ titles: changedLastTab });
124+
await wrapper.setProps({ titles: changedLastTab });
125125
expect(wrapper.findComponent('.tab-container.active').text()).toBe('Last');
126126
let tabnav = wrapper.findComponent(Tabnav);
127127
expect(tabnav.props('value')).toEqual(changedLastTab[2]);
128128

129129
const changedFirstTab = ['changed first tab',
130130
'A Longer tab title', 'changed last tab'];
131-
wrapper.setProps({ titles: changedFirstTab });
131+
await wrapper.setProps({ titles: changedFirstTab });
132132
expect(wrapper.findComponent('.tab-container.active').text()).toBe('First');
133133
tabnav = wrapper.findComponent(Tabnav);
134134
expect(tabnav.props('value')).toEqual(changedFirstTab[0]);
135135

136136
const changedMidTab = ['changed first tab',
137137
'changed middle tab', 'changed last tab'];
138-
wrapper.setProps({ titles: changedMidTab });
138+
await wrapper.setProps({ titles: changedMidTab });
139139
expect(wrapper.findComponent('.tab-container.active').text()).toBe('Middle');
140140
tabnav = wrapper.findComponent(Tabnav);
141141
expect(tabnav.props('value')).toEqual(changedMidTab[1]);

0 commit comments

Comments
 (0)