Skip to content

Commit 017dc77

Browse files
author
INFRAGISTICS\tiliev
committed
test(IgxGrid): Testing multi-column headers moving. #488
1 parent 0eea70e commit 017dc77

File tree

1 file changed

+59
-12
lines changed

1 file changed

+59
-12
lines changed

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

Lines changed: 59 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { By } from '@angular/platform-browser';
99
const GRID_COL_THEAD_TITLE_CLASS = 'igx-grid__th-title';
1010
const GRID_COL_GROUP_THEAD_TITLE_CLASS = 'igx-grid__thead-title';
1111
const GRID_COL_GROUP_THEAD_GROUP_CLASS = 'igx-grid__thead-group';
12-
const GRID_COL_THEAD_CLASS = '.igx-grid__th'
12+
const GRID_COL_THEAD_CLASS = '.igx-grid__th';
1313

1414
const expectedColumnGroups = 5;
1515
const expectedLevel = 2;
@@ -23,7 +23,8 @@ describe('IgxGrid - multi-column headers', () => {
2323
OneGroupThreeColsGridComponent,
2424
BlueWhaleGridComponent,
2525
ColumnGroupTestComponent,
26-
ColumnGroupFourLevelTestComponent
26+
ColumnGroupFourLevelTestComponent,
27+
ThreeGroupsThreeColumnsGridComponent
2728
],
2829
imports: [
2930
NoopAnimationsModule,
@@ -76,14 +77,14 @@ describe('IgxGrid - multi-column headers', () => {
7677
expect(document.querySelectorAll('igx-grid-header').length).toEqual(18);
7778
expect(fixture.debugElement.queryAll(By.css(GRID_COL_THEAD_CLASS)).length).toEqual(11);
7879

79-
//Hide individual column
80+
// Hide individual column
8081
grid.getColumnByName('ID').hidden = true;
8182
fixture.detectChanges();
8283

8384
expect(document.querySelectorAll('igx-grid-header').length).toEqual(17);
8485
expect(fixture.debugElement.queryAll(By.css(GRID_COL_THEAD_CLASS)).length).toEqual(10);
8586

86-
//Hide column in goup
87+
// Hide column in goup
8788
grid.getColumnByName('CompanyName').hidden = true;
8889
fixture.detectChanges();
8990
expect(document.querySelectorAll('igx-grid-header').length).toEqual(16);
@@ -102,7 +103,7 @@ describe('IgxGrid - multi-column headers', () => {
102103
expect(document.querySelectorAll('igx-grid-header').length).toEqual(18);
103104
expect(fixture.debugElement.queryAll(By.css(GRID_COL_THEAD_CLASS)).length).toEqual(11);
104105

105-
//Hide 2 columns in the group
106+
// Hide 2 columns in the group
106107
grid.getColumnByName('ContactName').hidden = true;
107108
grid.getColumnByName('ContactTitle').hidden = true;
108109
fixture.detectChanges();
@@ -127,7 +128,7 @@ describe('IgxGrid - multi-column headers', () => {
127128
expect(document.querySelectorAll('igx-grid-header').length).toEqual(18);
128129
expect(fixture.debugElement.queryAll(By.css(GRID_COL_THEAD_CLASS)).length).toEqual(11);
129130

130-
//Hide 2 columns in the group
131+
// Hide 2 columns in the group
131132
grid.getColumnByName('CompanyName').hidden = true;
132133
getColGroup(grid, 'Person Details').hidden = true;
133134
fixture.detectChanges();
@@ -384,7 +385,7 @@ describe('IgxGrid - multi-column headers', () => {
384385
fixture.detectChanges();
385386
const grid = fixture.componentInstance.grid;
386387
grid.getColumnByName('Fax').hidden = true;
387-
getColGroup(grid, 'Person Details').hidden=true;
388+
getColGroup(grid, 'Person Details').hidden = true;
388389
fixture.detectChanges();
389390

390391
expect(grid.columnList.filter(col => col.columnGroup).length).toEqual(7);
@@ -415,7 +416,7 @@ describe('IgxGrid - multi-column headers', () => {
415416
fixture.detectChanges();
416417
const grid = fixture.componentInstance.grid;
417418
grid.getColumnByName('Fax').hidden = true;
418-
getColGroup(grid, 'Person Details').hidden=true;
419+
getColGroup(grid, 'Person Details').hidden = true;
419420
fixture.detectChanges();
420421

421422
expect(grid.columnList.filter(col => col.columnGroup).length).toEqual(7);
@@ -437,7 +438,7 @@ describe('IgxGrid - multi-column headers', () => {
437438
fixture.detectChanges();
438439
const grid = fixture.componentInstance.grid;
439440
grid.getColumnByName('Fax').hidden = true;
440-
getColGroup(grid, 'Person Details').hidden=true;
441+
getColGroup(grid, 'Person Details').hidden = true;
441442
fixture.detectChanges();
442443

443444
expect(grid.columnList.filter(col => col.columnGroup).length).toEqual(7);
@@ -476,7 +477,7 @@ describe('IgxGrid - multi-column headers', () => {
476477
fixture.detectChanges();
477478
const grid = fixture.componentInstance.grid;
478479
grid.getColumnByName('Fax').hidden = true;
479-
getColGroup(grid, 'Person Details').hidden=true;
480+
getColGroup(grid, 'Person Details').hidden = true;
480481
fixture.detectChanges();
481482

482483
expect(grid.columnList.filter(col => col.columnGroup).length).toEqual(7);
@@ -501,7 +502,7 @@ describe('IgxGrid - multi-column headers', () => {
501502
fixture.detectChanges();
502503
const grid = fixture.componentInstance.grid;
503504
grid.getColumnByName('Fax').hidden = true;
504-
getColGroup(grid, 'Person Details').hidden=true;
505+
getColGroup(grid, 'Person Details').hidden = true;
505506
fixture.detectChanges();
506507

507508
expect(grid.columnList.filter(col => col.columnGroup).length).toEqual(7);
@@ -635,13 +636,22 @@ describe('IgxGrid - multi-column headers', () => {
635636

636637
// Verify group and all its children are pinned
637638
expect(grGeneralInf.allChildren.every(c => c.pinned === true)).toEqual(true);
638-
639+
639640
expect(grGeneralInf.visibleIndex).toEqual(-1);
640641
expect(grid.getColumnByName('CompanyName').visibleIndex).toEqual(0);
641642

642643
expect(grid.pinnedColumns.length).toEqual(5);
643644
expect(grid.unpinnedColumns.length).toEqual(13);
644645
});
646+
647+
xit('Should move column group.', () => {
648+
const fixture = TestBed.createComponent(ThreeGroupsThreeColumnsGridComponent);
649+
fixture.detectChanges();
650+
const componentInstance = fixture.componentInstance;
651+
const grid = componentInstance.grid;
652+
grid.moveColumn(componentInstance.thirdColGroup, componentInstance.firstColGroup);
653+
fixture.detectChanges();
654+
});
645655
});
646656

647657
@Component({
@@ -756,6 +766,43 @@ export class ColumnGroupFourLevelTestComponent {
756766
data = DATASOURCE;
757767
}
758768

769+
@Component({
770+
template: `
771+
<igx-grid #grid [data]="data" height="600px" width="1000px">
772+
<igx-column-group #firstColGroup header="General Information">
773+
<igx-column field="CompanyName"></igx-column>
774+
<igx-column field="ContactName"></igx-column>
775+
<igx-column field="ContactTitle"></igx-column>
776+
</igx-column-group>
777+
<igx-column-group #secondColGroup header="Location">
778+
<igx-column field="Country"></igx-column>
779+
<igx-column field="Region"></igx-column>
780+
<igx-column field="City"></igx-column>
781+
</igx-column-group>
782+
<igx-column-group #thirdColGroup header="Contact Information">
783+
<igx-column field="Phone"></igx-column>
784+
<igx-column field="Fax"></igx-column>
785+
<igx-column field="PostalCode"></igx-column>
786+
</igx-column-group>
787+
</igx-grid>
788+
`
789+
})
790+
export class ThreeGroupsThreeColumnsGridComponent {
791+
@ViewChild(IgxGridComponent, { read: IgxGridComponent })
792+
grid: IgxGridComponent;
793+
794+
@ViewChild('firstColGroup', { read: IgxColumnGroupComponent })
795+
firstColGroup: IgxColumnGroupComponent;
796+
797+
@ViewChild('secondColGroup', { read: IgxColumnGroupComponent })
798+
secondColGroup: IgxColumnGroupComponent;
799+
800+
@ViewChild('thirdColGroup', { read: IgxColumnGroupComponent })
801+
thirdColGroup: IgxColumnGroupComponent;
802+
803+
data = DATASOURCE;
804+
}
805+
759806
@Component({
760807
template: `
761808
<igx-grid #grid [data]="data" [height]="gridHeight" [columnWidth]="columnWidth">

0 commit comments

Comments
 (0)