@@ -8,6 +8,9 @@ function $$ (className) {
88}
99
1010describe ( 'Table.filter' , ( ) => {
11+ beforeEach ( ( ) => {
12+ document . body . innerHTML = ''
13+ } )
1114 const filterFn = ( value , record ) => record . name . indexOf ( value ) !== - 1
1215 const column = {
1316 title : 'Name' ,
@@ -217,7 +220,7 @@ describe('Table.filter', () => {
217220 } )
218221 } )
219222
220- it ( 'three levels menu' , ( done ) => {
223+ it ( 'three levels menu' , async ( ) => {
221224 const filters = [
222225 { text : 'Upper' , value : 'Upper' } ,
223226 { text : 'Lower' , value : 'Lower' } ,
@@ -251,13 +254,23 @@ describe('Table.filter', () => {
251254 return wrapper . find ( { name : 'Trigger' } ) . vm . getComponent ( )
252255 } ,
253256 } , { sync : false , attachToDocument : true } )
254- dropdownWrapper . findAll ( '.ant-dropdown-menu-submenu-title' ) . at ( 0 ) . trigger ( 'mouseenter' )
255- // jest.runAllTimers()
256- // dropdownWrapper.update()
257- setTimeout ( ( ) => {
258- expect ( $$ ( '.ant-dropdown-menu-submenu-title' ) ) . toHaveLength ( 2 )
259- done ( )
260- } , 1000 )
257+ await asyncExpect ( ( ) => {
258+ dropdownWrapper . findAll ( '.ant-dropdown-menu-submenu-title' ) . at ( 0 ) . trigger ( 'mouseenter' )
259+ } )
260+ await asyncExpect ( ( ) => {
261+ $$ ( '.ant-dropdown-menu-submenu-title' ) [ 1 ] . dispatchEvent ( new MouseEvent ( 'mouseenter' ) )
262+ } , 500 )
263+ await asyncExpect ( ( ) => {
264+ const menuItem = $$ ( '.ant-dropdown-menu-item' )
265+ menuItem [ menuItem . length - 1 ] . click ( )
266+ } , 500 )
267+
268+ await asyncExpect ( ( ) => {
269+ $$ ( '.confirm' ) [ 0 ] . click ( )
270+ } )
271+ await asyncExpect ( ( ) => {
272+ expect ( renderedNames ( wrapper ) ) . toEqual ( [ 'Jack' ] )
273+ } , 500 )
261274 } )
262275
263276 it ( 'works with JSX in controlled mode' , async ( ) => {
@@ -302,14 +315,14 @@ describe('Table.filter', () => {
302315 await asyncExpect ( ( ) => {
303316 dropdownWrapper . find ( { name : 'MenuItem' } ) . trigger ( 'click' )
304317 dropdownWrapper . find ( '.confirm' ) . trigger ( 'click' )
305- } , 0 )
318+ } , 500 )
306319 await asyncExpect ( ( ) => {
307320 expect ( renderedNames ( wrapper ) ) . toEqual ( [ 'Jack' ] )
308321 dropdownWrapper . find ( '.clear' ) . trigger ( 'click' )
309- } , 0 )
322+ } , 500 )
310323 await asyncExpect ( ( ) => {
311324 expect ( renderedNames ( wrapper ) ) . toEqual ( [ 'Jack' , 'Lucy' , 'Tom' , 'Jerry' ] )
312- } , 0 )
325+ } , 500 )
313326 } )
314327
315328 it ( 'works with grouping columns in controlled mode' , ( done ) => {
0 commit comments