Skip to content

Commit fec07a8

Browse files
MKirovaMKirova
authored andcommitted
chore(*): Add test for state directuive with row pinning.
1 parent fd6e77a commit fec07a8

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

projects/igniteui-angular/src/lib/grids/state.directive.spec.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ describe('IgxGridState - input properties #grid', () => {
7272

7373
it('getState should return corect JSON string', () => {
7474
// tslint:disable-next-line:max-line-length
75-
const initialGridState = '{"columns":[{"pinned":true,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"testCss","headerGroupClasses":"","maxWidth":"300px","groupable":false,"movable":true,"hidden":false,"dataType":"number","hasSummary":false,"field":"ProductID","width":"150px","header":"Product ID","resizable":true,"searchable":false},{"pinned":false,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"movable":true,"hidden":false,"dataType":"string","hasSummary":false,"field":"ProductName","width":"150px","header":"Prodyct Name","resizable":true,"searchable":true},{"pinned":false,"sortable":false,"filterable":true,"editable":true,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":false,"movable":false,"hidden":false,"dataType":"boolean","hasSummary":true,"field":"InStock","width":"140px","header":"In Stock","resizable":true,"searchable":true},{"pinned":false,"sortable":true,"filterable":false,"editable":true,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"movable":false,"hidden":false,"dataType":"date","hasSummary":false,"field":"OrderDate","width":"110px","header":"Date ordered","resizable":false,"searchable":true}],"filtering":{"filteringOperands":[],"operator":0},"sorting":[],"groupBy":{"expressions":[],"expansion":[],"defaultExpanded":true},"paging":{"index":0,"recordsPerPage":15,"metadata":{"countPages":1,"countRecords":10,"error":0}},"cellSelection":[],"rowSelection":[],"columnSelection":[]}';
75+
const initialGridState = '{"columns":[{"pinned":true,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"testCss","headerGroupClasses":"","maxWidth":"300px","groupable":false,"movable":true,"hidden":false,"dataType":"number","hasSummary":false,"field":"ProductID","width":"150px","header":"Product ID","resizable":true,"searchable":false},{"pinned":false,"sortable":true,"filterable":true,"editable":false,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"movable":true,"hidden":false,"dataType":"string","hasSummary":false,"field":"ProductName","width":"150px","header":"Prodyct Name","resizable":true,"searchable":true},{"pinned":false,"sortable":false,"filterable":true,"editable":true,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":false,"movable":false,"hidden":false,"dataType":"boolean","hasSummary":true,"field":"InStock","width":"140px","header":"In Stock","resizable":true,"searchable":true},{"pinned":false,"sortable":true,"filterable":false,"editable":true,"sortingIgnoreCase":true,"filteringIgnoreCase":true,"headerClasses":"","headerGroupClasses":"","maxWidth":"300px","groupable":true,"movable":false,"hidden":false,"dataType":"date","hasSummary":false,"field":"OrderDate","width":"110px","header":"Date ordered","resizable":false,"searchable":true}],"filtering":{"filteringOperands":[],"operator":0},"sorting":[],"groupBy":{"expressions":[],"expansion":[],"defaultExpanded":true},"paging":{"index":0,"recordsPerPage":15,"metadata":{"countPages":1,"countRecords":10,"error":0}},"cellSelection":[],"rowSelection":[],"columnSelection":[],"rowPinning":[]}';
7676
const fix = TestBed.createComponent(IgxGridStateComponent);
7777
fix.detectChanges();
7878

@@ -392,6 +392,31 @@ describe('IgxGridState - input properties #grid', () => {
392392
expect(gridState).toBe(rowSelectionState);
393393
});
394394

395+
it('setState should correctly restore grid row pinning state from object', () => {
396+
const fix = TestBed.createComponent(IgxGridStateComponent);
397+
fix.detectChanges();
398+
const grid = fix.componentInstance.grid;
399+
grid.primaryKey = 'ProductID';
400+
fix.detectChanges();
401+
const state = fix.componentInstance.state;
402+
const rowPinState = '{"rowPinning":[1,3]}';
403+
const initialState = '{"rowPinning":[]}';
404+
const rowPinStateObject = JSON.parse(rowPinState);
405+
406+
let gridState = state.getState(true, 'rowPinning');
407+
expect(gridState).toBe(initialState);
408+
409+
state.setState(rowPinStateObject);
410+
fix.detectChanges();
411+
412+
expect(grid.pinnedRows.length).toBe(2);
413+
expect(grid.pinnedRows[0].rowID).toBe(1);
414+
expect(grid.pinnedRows[1].rowID).toBe(3);
415+
416+
gridState = state.getState(true, 'rowPinning');
417+
expect(gridState).toBe(rowPinState);
418+
});
419+
395420
it('setState should correctly restore grid cell selection state from string', () => {
396421
const fix = TestBed.createComponent(IgxGridStateComponent);
397422
fix.detectChanges();

0 commit comments

Comments
 (0)