Skip to content

Commit 429a612

Browse files
qinwenchengkagol
authored andcommitted
test(editable-select): 增加对allow-clear属性的测试
1 parent a3bae04 commit 429a612

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

packages/devui-vue/devui/editable-select/__tests__/editable-select.spec.ts

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,5 +315,47 @@ describe('editable-select test', () => {
315315
expect(wrapper.vm.value).toBe('2');
316316
});
317317

318-
it.todo('props allow-clear work well.');
318+
test('allow-clear', async () => {
319+
const wrapper = mount({
320+
components: {
321+
'editable-select': EditableSelect,
322+
},
323+
template: `<editable-select v-model="value" :options="options"></editable-select>`,
324+
setup() {
325+
const value = ref('');
326+
const options = createData();
327+
return {
328+
value,
329+
options,
330+
};
331+
},
332+
});
333+
334+
const input = wrapper.find('input');
335+
await input.trigger('click');
336+
337+
const flexibleOverlay = wrapper.getComponent({ name: 'DFlexibleOverlay' });
338+
339+
const options = flexibleOverlay.findAll(`.devui-dropdown-item`);
340+
341+
await options[0].trigger('click');
342+
343+
expect(wrapper.find('input').element.value).toBe('label0');
344+
expect(wrapper.vm.value).toBe('0');
345+
346+
const removeIcon = wrapper.find('.icon-remove');
347+
await removeIcon.trigger('click');
348+
349+
expect(wrapper.find('input').element.value).toBe('');
350+
expect(wrapper.vm.value).toBe('');
351+
352+
await options[1].trigger('click');
353+
expect(wrapper.find('input').element.value).toBe('label1');
354+
expect(wrapper.vm.value).toBe('1');
355+
356+
await removeIcon.trigger('click');
357+
358+
expect(wrapper.find('input').element.value).toBe('');
359+
expect(wrapper.vm.value).toBe('');
360+
});
319361
});

0 commit comments

Comments
 (0)