@@ -468,6 +468,7 @@ describe('AnalyticalTable', () => {
468468 } ) ;
469469
470470 it ( 'tree selection & filtering' , ( ) => {
471+ const filterSpy = cy . spy ( ) . as ( 'filter' ) ;
471472 const TreeSelectFilterTable = ( props : PropTypes ) => {
472473 const [ filter , setFilter ] = useState ( '' ) ;
473474 const [ relevantPayload , setRelevantPayload ] = useState < Record < string , any > > ( { } ) ;
@@ -501,6 +502,7 @@ describe('AnalyticalTable', () => {
501502 data = { dataTree }
502503 globalFilterValue = { filter }
503504 selectionMode = "Multiple"
505+ onFilter = { filterSpy }
504506 />
505507 < div data-testid = "payloadHelper" >
506508 { JSON . stringify ( relevantPayload ?. selectedFlatRows ?. filter ( Boolean ) . length ) }
@@ -553,6 +555,12 @@ describe('AnalyticalTable', () => {
553555 // column filter + select
554556 cy . findByText ( 'Name' ) . click ( ) ;
555557 cy . get ( `[ui5-input][show-clear-icon]` ) . typeIntoUi5Input ( 'Flowers Mcfarland' , { force : true } ) ;
558+ cy . get ( '@filter' ) . should ( 'have.callCount' , 17 ) ;
559+ cy . get ( '@filter' ) . should ( 'have.been.calledWithMatch' , {
560+ value : 'Flowers Mcfarland' ,
561+ columnId : 'name' ,
562+ filters : [ { id : 'name' , value : 'Flowers Mcfarland' } ]
563+ } ) ;
556564 cy . findByText ( 'Robin Moreno' ) . should ( 'not.exist' , { timeout : 100 } ) ;
557565 cy . findByText ( 'Judith Mathews' ) . should ( 'not.exist' , { timeout : 100 } ) ;
558566 cy . findByText ( 'Katy Bradshaw' ) . should ( 'not.exist' , { timeout : 100 } ) ;
@@ -576,6 +584,8 @@ describe('AnalyticalTable', () => {
576584 }
577585 }
578586 ] ;
587+
588+ const filterSpy = cy . spy ( ) . as ( 'filter' ) ;
579589 const TestComp = ( { onRowSelect } : PropTypes ) => {
580590 const [ selectedRowIds , setSelectedRowIds ] = useState ( { } ) ;
581591 const [ selectedFlatRows , setSelectedFlatRows ] = useState ( [ ] ) ;
@@ -610,6 +620,7 @@ describe('AnalyticalTable', () => {
610620 setAllRowsSelected ( e . detail . allRowsSelected ) ;
611621 onRowSelect ( e ) ;
612622 } }
623+ onFilter = { filterSpy }
613624 selectionMode = { AnalyticalTableSelectionMode . Multiple }
614625 selectedRowIds = { selectedRowIds }
615626 />
@@ -696,6 +707,12 @@ describe('AnalyticalTable', () => {
696707 cy . findByText ( 'Name-5' ) . click ( ) ;
697708 cy . findByText ( 'Name' ) . click ( ) ;
698709 cy . get ( '[ui5-li-custom]' ) . shadow ( ) . get ( '[ui5-input]' ) . typeIntoUi5Input ( '7{enter}' ) ;
710+ cy . get ( '@filter' ) . should ( 'have.callCount' , 1 ) ;
711+ cy . get ( '@filter' ) . should ( 'have.been.calledWithMatch' , {
712+ value : '7' ,
713+ columnId : 'name' ,
714+ filters : [ { id : 'name' , value : '7' } ]
715+ } ) ;
699716 cy . findByTestId ( 'payload' ) . should ( 'have.text' , '["0","1","5"]' ) ;
700717 cy . findByTestId ( 'payloadRowsById' ) . should ( 'have.text' , '{"0":true,"1":true,"5":true}' ) ;
701718 cy . findByTestId ( 'payloadAllRowsSelected' ) . should ( 'have.text' , 'false' ) ;
@@ -708,10 +725,18 @@ describe('AnalyticalTable', () => {
708725
709726 cy . findByText ( 'Name' ) . click ( ) ;
710727 cy . get ( '[ui5-li-custom]' ) . shadow ( ) . get ( '[ui5-input]' ) . typeIntoUi5Input ( '{selectall}{backspace}{enter}' ) ;
728+ cy . get ( '@filter' ) . should ( 'have.callCount' , 2 ) ;
729+ cy . get ( '@filter' ) . should ( 'have.been.calledWithMatch' , {
730+ value : undefined ,
731+ columnId : 'name' ,
732+ filters : [ ]
733+ } ) ;
734+
711735 cy . get ( '[data-row-index="0"][data-column-index="0"]' ) . click ( ) ;
712736 cy . findByText ( 'Name-17' ) . click ( { force : true } ) ;
713737 cy . findByText ( 'Name' ) . click ( ) ;
714738 cy . get ( '[ui5-li-custom]' ) . shadow ( ) . get ( '[ui5-input]' ) . typeIntoUi5Input ( '7{enter}' ) ;
739+ cy . get ( '@filter' ) . should ( 'have.callCount' , 3 ) ;
715740 cy . findByTestId ( 'payload' ) . should (
716741 'have.text' ,
717742 '["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","18","19","20"]'
@@ -734,6 +759,7 @@ describe('AnalyticalTable', () => {
734759
735760 cy . findByText ( 'Name' ) . click ( ) ;
736761 cy . get ( '[ui5-li-custom]' ) . shadow ( ) . get ( '[ui5-input]' ) . typeIntoUi5Input ( '{selectall}{backspace}{enter}' ) ;
762+ cy . get ( '@filter' ) . should ( 'have.callCount' , 4 ) ;
737763
738764 cy . findByText ( 'Name-17' ) . click ( { force : true } ) ;
739765 cy . findByTestId ( 'input' ) . type ( '7{enter}' ) ;
0 commit comments