@@ -760,4 +760,34 @@ describe("Table", () => {
760760 expect ( tableModel . header [ 1 ] . data ) . toEqual ( "h2" ) ;
761761 expect ( tableModel . header [ 2 ] . data ) . toEqual ( "h3" ) ;
762762 } ) ;
763+
764+ it ( "should expand and collapse all rows" , ( ) => {
765+ let tableModel = new TableModel ( ) ;
766+
767+ spyOn ( tableModel . rowsExpandedAllChange , 'emit' ) ;
768+ spyOn ( tableModel . rowsCollapsedAllChange , 'emit' ) ;
769+
770+ tableModel . header = [
771+ new TableHeaderItem ( { data : "h1" } ) , new TableHeaderItem ( { data : "h2" } )
772+ ] ;
773+ tableModel . data = [
774+ [ new TableItem ( { data : "A" , expandedData : "EX1" } ) , new TableItem ( { data : "B" } ) ] ,
775+ [ new TableItem ( { data : "C" } ) , new TableItem ( { data : "D" } ) ] ,
776+ [ new TableItem ( { data : "E" , expandedData : "EX2" } ) , new TableItem ( { data : "F" } ) ] ,
777+ [ new TableItem ( { data : "G" } ) , new TableItem ( { data : "H" } ) ] ,
778+ ] ;
779+
780+ expect ( tableModel . expandableRowsCount ( ) ) . toBe ( 2 ) ;
781+ expect ( tableModel . expandedRowsCount ( ) ) . toBe ( 0 ) ;
782+
783+ tableModel . expandAllRows ( true ) ;
784+ expect ( tableModel . rowsExpandedAllChange . emit ) . toHaveBeenCalledWith ( ) ;
785+ expect ( tableModel . expandedRowsCount ( ) ) . toBe ( 2 ) ;
786+ expect ( tableModel . rowsExpanded ) . toEqual ( [ true , false , true , false ] )
787+
788+ tableModel . expandAllRows ( false ) ;
789+ expect ( tableModel . rowsCollapsedAllChange . emit ) . toHaveBeenCalledWith ( ) ;
790+ expect ( tableModel . expandedRowsCount ( ) ) . toBe ( 0 ) ;
791+ expect ( tableModel . rowsExpanded ) . toEqual ( [ false , false , false , false ] )
792+ } ) ;
763793} ) ;
0 commit comments