@@ -43,6 +43,7 @@ describe("veTable header filter", () => {
4343 ] ;
4444
4545 const mockFilterFn = jest . fn ( ) ;
46+ const mockBeforeVisibleChangeFn = jest . fn ( ) ;
4647
4748 // filter single
4849 const TABLE_COLUMNS_FILTER_SINGLE = [
@@ -61,6 +62,9 @@ describe("veTable header filter", () => {
6162 width : "15%" ,
6263 // filter
6364 filter : {
65+ beforeVisibleChange : ( { nextVisible } ) => {
66+ mockBeforeVisibleChangeFn ( { nextVisible } ) ;
67+ } ,
6468 filterList : [
6569 { value : 0 , label : "1900-05-20" , selected : false } ,
6670 { value : 1 , label : "1910-06-20" , selected : false } ,
@@ -333,4 +337,47 @@ describe("veTable header filter", () => {
333337 expect ( mockFilterFn ) . toBeCalled ( ) ;
334338 expect ( mockFilterFn ) . toHaveBeenCalledWith ( callBackResetData ) ;
335339 } ) ;
340+
341+ it ( "beforeVisibleChange callback method" , async ( ) => {
342+ const wrapper = mount ( {
343+ render ( ) {
344+ return (
345+ < ve-table
346+ columns = { this . columns }
347+ tableData = { this . tableData }
348+ />
349+ ) ;
350+ } ,
351+ data ( ) {
352+ return {
353+ columns : TABLE_COLUMNS_FILTER_SINGLE ,
354+ tableData : TABLE_DATA ,
355+ } ;
356+ } ,
357+ } ) ;
358+
359+ // icon-vet-filter
360+ wrapper . find ( ".icon-vet-filter" ) . trigger ( "click" ) ;
361+ await later ( ) ;
362+
363+ expect ( mockBeforeVisibleChangeFn ) . toBeCalled ( ) ;
364+ expect ( mockBeforeVisibleChangeFn ) . toHaveBeenCalledWith ( {
365+ nextVisible : true ,
366+ } ) ;
367+
368+ // 改变选项
369+ wrapper . findAll ( ".ve-dropdown-items-li" ) . at ( 0 ) . trigger ( "click" ) ;
370+
371+ await later ( ) ;
372+
373+ // confirm btn click
374+ wrapper . findAll ( ".ve-dropdown-operation-item" ) . at ( 1 ) . trigger ( "click" ) ;
375+
376+ await later ( ) ;
377+
378+ expect ( mockBeforeVisibleChangeFn ) . toBeCalled ( ) ;
379+ expect ( mockBeforeVisibleChangeFn ) . toHaveBeenCalledWith ( {
380+ nextVisible : false ,
381+ } ) ;
382+ } ) ;
336383} ) ;
0 commit comments