Skip to content

Commit b14ab72

Browse files
huangxiaojie02kagol
authored andcommitted
refactor(popover): refactor popover test
1 parent 3ca3736 commit b14ab72

File tree

1 file changed

+18
-48
lines changed

1 file changed

+18
-48
lines changed

packages/devui-vue/devui/popover/__tests__/popover.spec.tsx

Lines changed: 18 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -146,15 +146,23 @@ describe('d-popover', () => {
146146

147147
it('props position work well.', async () => {
148148
let position = ref<Array<Placement>>(['top']);
149-
let wrapper = mount({
149+
let align = ref();
150+
const comp = {
150151
setup() {
151152
return () => (
152-
<DPopover content="default" trigger="click" position={position.value}>
153+
<DPopover
154+
content="default"
155+
trigger="click"
156+
position={position.value}
157+
align={align.value}
158+
>
153159
<d-button>default</d-button>
154160
</DPopover>
155161
);
156162
},
157-
});
163+
};
164+
165+
let wrapper = mount(comp);
158166
await wrapper.find(buttonBaseClass).trigger('click');
159167
await wait(500);
160168
expect(document.querySelector(popoverArrowClass)?.style.bottom).toBe('-4px');
@@ -163,79 +171,41 @@ describe('d-popover', () => {
163171
wrapper.unmount();
164172

165173
position = ref<Array<Placement>>(['bottom']);
166-
wrapper = mount({
167-
setup() {
168-
return () => (
169-
<DPopover content="default" trigger="click" position={position.value}>
170-
<d-button>default</d-button>
171-
</DPopover>
172-
);
173-
},
174-
});
174+
wrapper = mount(comp);
175175
await wrapper.find(buttonBaseClass).trigger('click');
176176
await wait(500);
177177
expect(document.querySelector(popoverArrowClass)?.style.top).toBe('-4px');
178178
expect(document.querySelector(popoverContentClass)?.getAttribute('style')?.includes('transform-origin: 50% -8px')).toBe(true);
179179
wrapper.unmount();
180180

181181
position = ref<Array<Placement>>(['left']);
182-
wrapper = mount({
183-
setup() {
184-
return () => (
185-
<DPopover content="default" trigger="click" position={position.value}>
186-
<d-button>default</d-button>
187-
</DPopover>
188-
);
189-
},
190-
});
182+
wrapper = mount(comp);
191183
await wrapper.find(buttonBaseClass).trigger('click');
192184
await wait(500);
193185
expect(document.querySelector(popoverArrowClass)?.style.right).toBe('-4px');
194186
expect(document.querySelector(popoverContentClass)?.getAttribute('style')?.includes('transform-origin: calc(100% + 8px)')).toBe(true);
195187
wrapper.unmount();
196188

197189
position = ref<Array<Placement>>(['right']);
198-
wrapper = mount({
199-
setup() {
200-
return () => (
201-
<DPopover content="default" trigger="click" position={position.value}>
202-
<d-button>default</d-button>
203-
</DPopover>
204-
);
205-
},
206-
});
190+
wrapper = mount(comp);
207191
await wrapper.find(buttonBaseClass).trigger('click');
208192
await wait(500);
209193
expect(document.querySelector(popoverArrowClass)?.style.left).toBe('-4px');
210194
expect(document.querySelector(popoverContentClass)?.getAttribute('style')?.includes('transform-origin: -8px 50%')).toBe(true);
211195
wrapper.unmount();
212196

213197
position = ref<Array<Placement>>(['right-start']);
214-
wrapper = mount({
215-
setup() {
216-
return () => (
217-
<DPopover content="default" trigger="click" position={position.value} align="start">
218-
<d-button>default</d-button>
219-
</DPopover>
220-
);
221-
},
222-
});
198+
align = ref('start');
199+
wrapper = mount(comp);
223200
await wrapper.find(buttonBaseClass).trigger('click');
224201
await wait(500);
225202
expect(document.querySelector(popoverArrowClass)?.style.left).toBe('-4px');
226203
expect(document.querySelector(popoverContentClass)?.getAttribute('style')?.includes('transform-origin: -8px 50%')).toBe(true);
227204
wrapper.unmount();
228205

229206
position = ref<Array<Placement>>(['right-end']);
230-
wrapper = mount({
231-
setup() {
232-
return () => (
233-
<DPopover content="default" trigger="click" position={position.value} align="end">
234-
<d-button>default</d-button>
235-
</DPopover>
236-
);
237-
},
238-
});
207+
align = ref('end');
208+
wrapper = mount(comp);
239209
await wrapper.find(buttonBaseClass).trigger('click');
240210
await wait(500);
241211
expect(document.querySelector(popoverArrowClass)?.style.left).toBe('-4px');

0 commit comments

Comments
 (0)