Skip to content

Commit 04f07e6

Browse files
committed
test(column-pinning): order of columns after unpinning w/ hidden cols
1 parent 930fc3c commit 04f07e6

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

projects/igniteui-angular/src/lib/grids/grid/column-pinning.spec.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,36 @@ describe('Column Pinning UI #grid', () => {
289289
).toBe(true);
290290
});
291291
});
292+
293+
it('Checks order of columns after unpinning if there are hidden columns', () => {
294+
// Columns are ordered like this: ID, ProductName, Downloads, Released, ReleaseDate
295+
expect(grid.getColumnByName('Downloads').index).toBe(2);
296+
expect(grid.getColumnByName('Released').index).toBe(3);
297+
298+
grid.getColumnByName('ID').hidden = true;
299+
grid.getColumnByName('Downloads').pin();
300+
grid.getColumnByName('Released').pin();
301+
fix.detectChanges();
302+
303+
// unpinnedColumns contains only visible cols
304+
expect(grid.unpinnedColumns.length).toBe(2);
305+
// _unpinnedColumns contains all unpinned cols (including hidden)
306+
expect((grid as any)._unpinnedColumns.length).toBe(3);
307+
308+
grid.getColumnByName('Released').unpin();
309+
fix.detectChanges();
310+
311+
expect(grid.unpinnedColumns.length).toBe(3);
312+
expect((grid as any)._unpinnedColumns.length).toBe(4);
313+
// Downloads is still pinned; ID is not part of unpinnedColumns
314+
expect(grid.getColumnByName('Released').field).toEqual((grid as any).unpinnedColumns[1].field);
315+
expect(grid.getColumnByName('Released').field).toEqual((grid as any)._unpinnedColumns[2].field);
316+
317+
grid.getColumnByName('Downloads').unpin();
318+
fix.detectChanges();
319+
expect(grid.getColumnByName('Downloads').field).toEqual((grid as any).unpinnedColumns[1].field);
320+
expect(grid.getColumnByName('Downloads').field).toEqual((grid as any)._unpinnedColumns[2].field);
321+
});
292322
});
293323

294324
describe('Pinning with Column Groups', () => {

0 commit comments

Comments
 (0)