1- import { TestBed , waitForAsync } from '@angular/core/testing' ;
1+ import { TestBed , waitForAsync , fakeAsync , tick } from '@angular/core/testing' ;
22import { Component , TemplateRef , ViewChild } from '@angular/core' ;
33import { SampleTestData } from '../../../test-utils/sample-test-data.spec' ;
44import { IgxGridStateDirective } from './state.directive' ;
@@ -375,9 +375,10 @@ describe('IgxGridState - input properties #grid', () => {
375375 expect ( gridState ) . toBe ( columnsState ) ;
376376 } ) ;
377377
378- it ( 'setState should correctly restore grid columns state from object' , ( ) => {
378+ it ( 'setState should correctly restore grid columns state from object' , fakeAsync ( ( ) => {
379379 const fix = TestBed . createComponent ( IgxGridStateComponent ) ;
380380 fix . detectChanges ( ) ;
381+ tick ( ) ;
381382 const state = fix . componentInstance . state ;
382383 const grid = fix . componentInstance . grid ;
383384 spyOn ( grid . columnInit , 'emit' ) . and . callThrough ( ) ;
@@ -394,7 +395,7 @@ describe('IgxGridState - input properties #grid', () => {
394395 gridState = state . getState ( true , 'columns' ) ;
395396 expect ( gridState ) . toBe ( columnsState ) ;
396397 expect ( grid . columnInit . emit ) . toHaveBeenCalledTimes ( columnsStateObject . columns . length ) ;
397- } ) ;
398+ } ) ) ;
398399
399400 it ( 'setState should correctly restore grid columns state properties: collapsible and expanded' , ( ) => {
400401 const fix = TestBed . createComponent ( CollapsibleColumnGroupTestComponent ) ;
@@ -421,9 +422,10 @@ describe('IgxGridState - input properties #grid', () => {
421422 expect ( addressInfoGroup . expanded ) . toBe ( false ) ;
422423 } ) ;
423424
424- it ( 'setState should correctly restore grid columns with Column Groups and same headers' , ( ) => {
425+ it ( 'setState should correctly restore grid columns with Column Groups and same headers' , fakeAsync ( ( ) => {
425426 const fix = TestBed . createComponent ( IgxGridStateComponent ) ;
426427 fix . detectChanges ( ) ;
428+ tick ( ) ;
427429 const state = fix . componentInstance . state ;
428430 const initialState = '{"columns":[{"pinned":true,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"testCss","headerGroupClasses":"","maxWidth":"300px","groupable":false,"hidden":false,"dataType":"number","hasSummary":false,"field":"ProductID","width":"150px","header":"Product ID","resizable":true,"searchable":false,"key":"ProductID","columnGroup":false,"disableHiding":false,"disablePinning":false},{"pinned":false,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"hidden":false,"dataType":"string","hasSummary":false,"field":"ProductName","width":"150px","header":"Product Name","resizable":true,"searchable":true,"selectable":false,"key":"ProductName","columnGroup":false,"disableHiding":false,"disablePinning":false},{"pinned":false,"sortable":false,"filterable":true,"editable":true,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":false,"hidden":false,"dataType":"boolean","hasSummary":true,"field":"InStock","width":"140px","header":"In Stock","resizable":true,"searchable":true,"key":"InStock","columnGroup":false,"disableHiding":false,"disablePinning":true},{"pinned":false,"sortable":true,"filterable":false,"editable":true,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"hidden":false,"dataType":"date","hasSummary":false,"field":"OrderDate","width":"110px","header":"Date ordered","resizable":false,"searchable":true,"key":"OrderDate","columnGroup":false,"disableHiding":false,"disablePinning":false}]}' ;
429431 const columnsState = '{"columns":[{"pinned":false,"sortable":false,"filterable":false,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"testCss","headerGroupClasses":"","maxWidth":"300px","groupable":false,"hidden":false,"dataType":"string","hasSummary":false,"field":"ProductID","width":"150px","header":"General Information","resizable":true,"searchable":true,"key":"ProductID","columnGroup":false,"disableHiding":false,"disablePinning":false},{"pinned":false,"sortable":false,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"hidden":false,"dataType":"string","hasSummary":false,"field":"","width":"398px","header":"General Information","resizable":false,"searchable":true,"selectable":true,"key":"ProductName_UnitsInStock","columnGroup":true,"disableHiding":false,"disablePinning":false,"collapsible":false,"expanded":true},{"pinned":false,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":false,"hidden":false,"dataType":"boolean","hasSummary":false,"field":"ProductName","width":"199px","header":"","resizable":true,"searchable":true,"selectable":true,"key":"ProductName","parentKey":"ProductName_UnitsInStock","columnGroup":false,"disableHiding":false,"disablePinning":false},{"pinned":false,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","groupable":false,"hidden":false,"dataType":"string","hasSummary":false,"field":"UnitsInStock","width":"199px","header":"","resizable":true,"searchable":true,"selectable":true,"key":"UnitsInStock","parentKey":"ProductName_UnitsInStock","columnGroup":false,"disableHiding":false,"disablePinning":false},{"pinned":false,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":false,"hidden":false,"dataType":"string","hasSummary":false,"field":"InStock","width":"199px","header":"","resizable":true,"searchable":true,"selectable":true,"key":"InStock","columnGroup":false,"disableHiding":false,"disablePinning":true}]}' ;
@@ -437,11 +439,12 @@ describe('IgxGridState - input properties #grid', () => {
437439
438440 gridState = state . getState ( false , 'columns' ) as IGridState ;
439441 HelperFunctions . verifyColumns ( columnsStateObject . columns , gridState ) ;
440- } ) ;
442+ } ) ) ;
441443
442- it ( 'setState should reuse columns with matching keys and create new ones for the rest.' , ( ) => {
444+ it ( 'setState should reuse columns with matching keys and create new ones for the rest.' , fakeAsync ( ( ) => {
443445 const fix = TestBed . createComponent ( IgxGridStateComponent ) ;
444446 fix . detectChanges ( ) ;
447+ tick ( ) ;
445448 const state = fix . componentInstance . state ;
446449 const grid = fix . componentInstance . grid ;
447450 const originalColumns = [ ...grid . columns ] ;
@@ -490,7 +493,7 @@ describe('IgxGridState - input properties #grid', () => {
490493 expect ( x . bodyTemplate ) . toBe ( fix . componentInstance . template ) ;
491494 } ) ;
492495 expect ( grid . columns [ grid . columns . length - 1 ] . field ) . toBe ( "AnotherColumn" ) ;
493- } ) ;
496+ } ) ) ;
494497
495498 it ( 'setState should correctly restore grid paging state from string' , ( ) => {
496499 const fix = TestBed . createComponent ( IgxGridStateComponent ) ;
@@ -766,9 +769,11 @@ describe('IgxGridState - input properties #grid', () => {
766769 expect ( gridState ) . toBe ( expansionState ) ;
767770 } ) ;
768771
769- it ( 'should correctly restore mrl column states.' , ( ) => {
772+ it ( 'should correctly restore mrl column states.' , fakeAsync ( ( ) => {
770773 const fix = TestBed . createComponent ( IgxGridMRLStateComponent ) ;
771774 fix . detectChanges ( ) ;
775+ tick ( ) ;
776+
772777 const grid = fix . componentInstance . grid ;
773778 const state = fix . componentInstance . state ;
774779
@@ -801,7 +806,7 @@ describe('IgxGridState - input properties #grid', () => {
801806 expect ( prodIdColumn . rowEnd ) . toBe ( 4 ) ;
802807 expect ( prodIdColumn . colStart ) . toBe ( 1 ) ;
803808 expect ( prodIdColumn . colEnd ) . toBe ( 1 ) ;
804- } ) ;
809+ } ) ) ;
805810
806811 it ( 'getState should not mutate live sorting expressions (strategy/owner)' , ( ) => {
807812 const fix = TestBed . createComponent ( IgxGridStateComponent ) ;
0 commit comments