@@ -112,9 +112,16 @@ describe("DataTable directive tests", ()=> {
112112 datatable . ngOnChanges ( { rowsOnPage : new SimpleChange ( 2 , 3 , false ) } ) ;
113113 datatable . ngDoCheck ( ) ;
114114 expect ( datatable . data ) . toEqual ( [ { id : 3 , name : 'banana' } , { id : 1 , name : 'Duck' } , { id : 2 , name : 'ącki' } ] ) ;
115-
116-
117115 } ) ;
116+
117+ it ( "should emit a dataLength of 0 when inputData is null or undefined" , ( done ) => {
118+ datatable . onPageChange . subscribe ( ( pageOptions : PageEvent ) => {
119+ expect ( pageOptions . dataLength ) . toEqual ( 0 ) ;
120+ done ( ) ;
121+ } ) ;
122+ datatable . inputData = null ;
123+ datatable . setPage ( 2 , 3 ) ;
124+ } )
118125 } ) ;
119126
120127 describe ( "sorting" , ( ) => {
@@ -198,6 +205,20 @@ describe("DataTable directive tests", ()=> {
198205 ] ) ;
199206 } ) ;
200207
208+ it ( "should set sortOrder to 'asc' if setSort is given something else than 'asc' or 'desc'" , ( ) => {
209+ datatable . setSort ( "id" , "bulb" as any ) ;
210+ expect ( datatable . getSort ( ) ) . toEqual ( { sortBy : "id" , sortOrder : "asc" } ) ;
211+ datatable . ngDoCheck ( ) ;
212+ expect ( datatable . sortOrder ) . toEqual ( "asc" ) ;
213+ expect ( datatable . data ) . toEqual ( [
214+ { id : 1 , name : 'Duck' } ,
215+ { id : 2 , name : 'ącki' } ,
216+ { id : 3 , name : 'banana' } ,
217+ { id : 4 , name : 'Ananas' } ,
218+ { id : 5 , name : 'Ðrone' }
219+ ] ) ;
220+ } ) ;
221+
201222 it ( "shouldn't change order when only order provided" , ( done ) => {
202223 done ( ) ;
203224 datatable . onSortChange . subscribe ( ( ) => {
@@ -275,6 +296,7 @@ describe("DataTable directive tests", ()=> {
275296 { name : 'Claire' , age : 9 } ,
276297 { name : 'Anna' , age : 34 } ,
277298 { name : 'Claire' , age : 16 } ,
299+ { name : 'Anna' , age : 12 } ,
278300 { name : 'Claire' , age : 7 } ,
279301 { name : 'Anna' , age : 12 }
280302 ] ;
@@ -283,6 +305,7 @@ describe("DataTable directive tests", ()=> {
283305 datatable . ngDoCheck ( ) ;
284306
285307 expect ( datatable . data ) . toEqual ( [
308+ { name : 'Anna' , age : 12 } ,
286309 { name : 'Anna' , age : 12 } ,
287310 { name : 'Anna' , age : 34 } ,
288311 { name : 'Claire' , age : 7 } ,
0 commit comments