Skip to content

Commit 7f1072a

Browse files
committed
test: update table
1 parent 3995f25 commit 7f1072a

File tree

1 file changed

+39
-32
lines changed

1 file changed

+39
-32
lines changed

components/table/__tests__/Table.filter.test.js

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ describe('Table.filter', () => {
1111
beforeEach(() => {
1212
document.body.innerHTML = '';
1313
});
14-
const filterFn = (value, record) => record.name.indexOf(value) !== -1;
14+
const filterFn = (value, record) => {
15+
return record.name.indexOf(value) !== -1;
16+
};
1517
const column = {
1618
title: 'Name',
1719
dataIndex: 'name',
@@ -49,6 +51,7 @@ describe('Table.filter', () => {
4951
...listeners,
5052
},
5153
sync: false,
54+
attachToDocument: true,
5255
};
5356
}
5457

@@ -309,24 +312,15 @@ describe('Table.filter', () => {
309312
],
310313
}),
311314
);
312-
// jest.useFakeTimers()
313-
const dropdownWrapper = mount(
314-
{
315-
render() {
316-
return wrapper.find({ name: 'Trigger' }).vm.getComponent();
317-
},
318-
},
319-
{ sync: false, attachToDocument: true },
320-
);
321315
await asyncExpect(() => {
322-
dropdownWrapper
323-
.findAll('.ant-dropdown-menu-submenu-title')
324-
.at(0)
325-
.trigger('mouseenter');
316+
$$('.ant-dropdown-trigger')[0].click();
326317
});
318+
await asyncExpect(() => {
319+
$$('.ant-dropdown-menu-submenu-title')[0].dispatchEvent(new MouseEvent('mouseenter'));
320+
}, 0);
327321
await asyncExpect(() => {
328322
$$('.ant-dropdown-menu-submenu-title')[1].dispatchEvent(new MouseEvent('mouseenter'));
329-
}, 1000);
323+
}, 500);
330324
await asyncExpect(() => {
331325
const menuItem = $$('.ant-dropdown-menu-item');
332326
menuItem[menuItem.length - 1].click();
@@ -439,22 +433,35 @@ describe('Table.filter', () => {
439433
});
440434
});
441435

442-
// it('confirm filter when dropdown hidden', (done) => {
443-
// const handleChange = jest.fn()
444-
// const wrapper = mount(Table, { ...getTableOptions({
445-
// columns: [{
446-
// ...column,
447-
// filters: [
448-
// { text: 'Jack', value: 'Jack' },
449-
// { text: 'Lucy', value: 'Lucy' },
450-
// ],
451-
// }],
452-
// }, { change: handleChange }), attachToDocument: true })
453-
454-
// wrapper.find('.ant-dropdown-trigger').first().simulate('click')
455-
// wrapper.find('.ant-dropdown-menu-item').first().simulate('click')
456-
// wrapper.find('.ant-dropdown-trigger').first().simulate('click')
436+
fit('confirm filter when dropdown hidden', async () => {
437+
const handleChange = jest.fn();
438+
const wrapper = mount(Table, {
439+
...getTableOptions(
440+
{
441+
columns: [
442+
{
443+
...column,
444+
filters: [
445+
{ text: 'Jack', value: 'Jack' },
446+
{ text: 'Lucy', value: 'Lucy' },
447+
],
448+
},
449+
],
450+
},
451+
{ change: handleChange },
452+
),
453+
attachToDocument: true,
454+
});
455+
await asyncExpect(() => {
456+
wrapper.find('.ant-dropdown-trigger').trigger('click');
457+
}, 0);
458+
await asyncExpect(() => {
459+
$$('.ant-dropdown-menu-item')[0].click();
460+
}, 500);
461+
await asyncExpect(() => {
462+
wrapper.find('.ant-dropdown-trigger').trigger('click');
463+
}, 500);
457464

458-
// expect(handleChange).toBeCalled()
459-
// })
465+
expect(handleChange).toBeCalled();
466+
});
460467
});

0 commit comments

Comments
 (0)