Skip to content

Commit 8829ca7

Browse files
committed
test(adv-filtering): add test for col-group #5886
1 parent dcd4bd4 commit 8829ca7

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

projects/igniteui-angular/src/lib/grids/grid/grid-filtering-advanced.spec.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { changei18n, getCurrentResourceStrings } from '../../core/i18n/resources
1313
import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
1414
import { FilteringLogic } from '../../data-operations/filtering-expression.interface';
1515
import {
16+
IgxGridAdvancedFilteringColumnGroupComponent,
1617
IgxGridAdvancedFilteringComponent
1718
} from '../../test-utils/grid-samples.spec';
1819
import { resizeObserverIgnoreError } from '../../test-utils/helper-utils.spec';
@@ -27,6 +28,7 @@ describe('IgxGrid - Advanced Filtering', () => {
2728
beforeEach(async(() => {
2829
TestBed.configureTestingModule({
2930
declarations: [
31+
IgxGridAdvancedFilteringColumnGroupComponent,
3032
IgxGridAdvancedFilteringComponent
3133
],
3234
imports: [
@@ -2662,6 +2664,35 @@ describe('IgxGrid - Advanced Filtering', () => {
26622664
}));
26632665
});
26642666
});
2667+
2668+
describe('', () => {
2669+
let fix, grid: IgxGridComponent;
2670+
beforeEach(fakeAsync(() => {
2671+
resizeObserverIgnoreError();
2672+
fix = TestBed.createComponent(IgxGridAdvancedFilteringColumnGroupComponent);
2673+
grid = fix.componentInstance.grid;
2674+
fix.detectChanges();
2675+
}));
2676+
2677+
it('Should not display column groups in advanced filtering dialog.', fakeAsync(() => {
2678+
// Open dialog through API.
2679+
grid.openAdvancedFilteringDialog();
2680+
fix.detectChanges();
2681+
2682+
// Click the initial 'Add And Group' button.
2683+
const addAndGroupButton = GridFunctions.getAdvancedFilteringInitialAddGroupButtons(fix)[0];
2684+
addAndGroupButton.click();
2685+
tick(100);
2686+
fix.detectChanges();
2687+
2688+
// Open column dropdown and verify that there are no column groups present.
2689+
GridFunctions.clickAdvancedFilteringColumnSelect(fix);
2690+
fix.detectChanges();
2691+
const dropdownValues = GridFunctions.getAdvancedFilteringSelectDropdownItems(fix).map((x: any) => x.innerText);
2692+
const expectedValues = ['ID', 'ProductName', 'Downloads', 'Released', 'ReleaseDate', 'Another Field'];
2693+
verifyEqualArrays(dropdownValues, expectedValues);
2694+
}));
2695+
});
26652696
});
26662697

26672698

projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,6 +1198,31 @@ export class IgxGridAdvancedFilteringComponent extends BasicGridComponent {
11981198
}
11991199
}
12001200

1201+
@Component({
1202+
template: `<igx-grid [data]="data" height="500px" [allowAdvancedFiltering]="true" [showToolbar]="true">
1203+
<igx-column width="100px" [field]="'ID'" [header]="'ID'" [hasSummary]="true"></igx-column>
1204+
<igx-column width="100px" [field]="'ProductName'" dataType="string"></igx-column>
1205+
<igx-column width="100px" [field]="'Downloads'" dataType="number" [hasSummary]="true"></igx-column>
1206+
<igx-column-group header="Released Group">
1207+
<igx-column width="100px" [field]="'Released'" dataType="boolean"></igx-column>
1208+
<igx-column width="100px" [field]="'ReleaseDate'" dataType="date" headerClasses="header-release-date"></igx-column>
1209+
</igx-column-group>
1210+
<igx-column width="100px" [field]="'AnotherField'" [header]="'Another Field'" dataType="string" [filters]="customFilter">
1211+
</igx-column>
1212+
</igx-grid>`
1213+
})
1214+
export class IgxGridAdvancedFilteringColumnGroupComponent extends BasicGridComponent {
1215+
public customFilter = CustomFilter.instance();
1216+
public resizable = false;
1217+
public filterable = true;
1218+
1219+
public data = SampleTestData.excelFilteringData();
1220+
public activateFiltering(activate: boolean) {
1221+
this.grid.allowFiltering = activate;
1222+
this.grid.cdr.markForCheck();
1223+
}
1224+
}
1225+
12011226
@Component({
12021227
template: `
12031228
<igx-grid [data]="data" height="500px" width="500px">

0 commit comments

Comments
 (0)