Skip to content

Commit 8c30d46

Browse files
committed
fix(ESF): Adding a test for the conditional filter. #16244
1 parent b2ec51b commit 8c30d46

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed

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

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ import {
4444
IgxGridExternalESFTemplateComponent,
4545
IgxGridDatesFilteringComponent,
4646
LoadOnDemandFilterStrategy,
47-
IgxGridFilteringNumericComponent
47+
IgxGridFilteringNumericComponent,
48+
IgxGridConditionalFilteringComponent
4849
} from '../../test-utils/grid-samples.spec';
4950
import { GridSelectionMode, FilterMode, Size } from '../common/enums';
5051
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
@@ -7083,6 +7084,26 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
70837084
}));
70847085

70857086
});
7087+
7088+
describe('IgxGrid - Conditional Filter', () => {
7089+
let fix: ComponentFixture<IgxGridConditionalFilteringComponent>;
7090+
let grid: IgxGridComponent;
7091+
beforeEach(fakeAsync(() => {
7092+
fix = TestBed.createComponent(IgxGridConditionalFilteringComponent);
7093+
fix.detectChanges();
7094+
grid = fix.componentInstance.grid;
7095+
grid.filterMode = FilterMode.excelStyleFilter;
7096+
fix.detectChanges();
7097+
}));
7098+
7099+
it('Should not throw console error on opening the drop-down.', async () => {
7100+
GridFunctions.clickExcelFilterIconFromCodeAsync(fix, grid, 'Downloads');
7101+
fix.detectChanges();
7102+
await wait(100);
7103+
7104+
expect(console.error).not.toHaveBeenCalled();
7105+
});
7106+
});
70867107
});
70877108

70887109
describe('IgxGrid - Custom Filtering Strategy #grid', () => {

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

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { IgxColumnComponent } from '../grids/columns/column.component';
1313
import { IgxFilteringOperand, IgxNumberFilteringOperand } from '../data-operations/filtering-condition';
1414
import { IFilteringExpressionsTree, FilteringExpressionsTree } from '../data-operations/filtering-expressions-tree';
1515
import { FilteringStrategy, IgxFilterItem } from '../data-operations/filtering-strategy';
16-
import { ColumnPinningPosition, ISortingOptions, IgxExcelStyleHeaderIconDirective, IgxGridToolbarAdvancedFilteringComponent, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from '../grids/public_api';
16+
import { ColumnPinningPosition, ISortingOptions, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleHeaderIconDirective, IgxGridToolbarAdvancedFilteringComponent, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from '../grids/public_api';
1717
import { IgxRowAddTextDirective, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTemplateDirective, IgxRowEditTextDirective } from '../grids/grid.rowEdit.directive';
1818
import { IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective, IgxGridExcelStyleFilteringComponent } from '../grids/filtering/excel-style/excel-style-filtering.component';
1919
import { FilteringLogic } from '../data-operations/filtering-expression.interface';
@@ -2782,3 +2782,33 @@ export class ObjectCloneStrategy implements IDataCloneStrategy {
27822782
export class IgxGridRowEditingDefinedColumnsComponent extends BasicGridComponent {
27832783
public override data = SampleTestData.foodProductData();
27842784
}
2785+
2786+
@Component({
2787+
template: `<igx-grid [data]="data" height="500px" [allowFiltering]="true">
2788+
<igx-grid-excel-style-filtering>
2789+
<igx-excel-style-filter-operations>
2790+
<igx-excel-style-conditional-filter></igx-excel-style-conditional-filter>
2791+
</igx-excel-style-filter-operations>
2792+
</igx-grid-excel-style-filtering>
2793+
<igx-column width="100px" [field]="'ID'" [header]="'ID'" [hasSummary]="true"
2794+
[filterable]="false" [resizable]="resizable"></igx-column>
2795+
<igx-column width="100px" [field]="'ProductName'" [filterable]="filterable" [resizable]="resizable" dataType="string"></igx-column>
2796+
<igx-column width="100px" [field]="'Downloads'" [filterable]="filterable" [resizable]="resizable" dataType="number"></igx-column>
2797+
<igx-column width="100px" [field]="'Released'" [filterable]="filterable" [resizable]="resizable" dataType="boolean"></igx-column>
2798+
<igx-column width="100px" [field]="'ReleaseDate'" [header]="'ReleaseDate'" headerClasses="header-release-date"
2799+
[filterable]="filterable" [resizable]="resizable" dataType="date">
2800+
</igx-column>
2801+
<igx-column width="100px" [field]="'ReleaseDateTime'" [header]="'ReleaseDateTime'" headerClasses="header-release-date-time"
2802+
[filterable]="filterable" [resizable]="resizable" dataType="dateTime">
2803+
</igx-column>
2804+
<igx-column width="100px" [field]="'ReleaseTime'" [header]="'ReleaseTime'" headerClasses="header-release-time"
2805+
[filterable]="filterable" [resizable]="resizable" dataType="time">
2806+
</igx-column>
2807+
<igx-column width="100px" [field]="'AnotherField'" [header]="'Another Field'" [filterable]="filterable"
2808+
dataType="string" [filters]="customFilter">
2809+
</igx-column>
2810+
</igx-grid>`,
2811+
imports: [IgxGridComponent, IgxColumnComponent, IgxExcelStyleConditionalFilterComponent, IgxGridExcelStyleFilteringComponent, IgxExcelStyleFilterOperationsTemplateDirective]
2812+
})
2813+
export class IgxGridConditionalFilteringComponent extends IgxGridFilteringComponent {
2814+
}

0 commit comments

Comments
 (0)