Skip to content

Commit 552f70a

Browse files
committed
fix(ESF): Adding a test for the conditional filter. #16244
1 parent a3969bf commit 552f70a

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
@@ -43,7 +43,8 @@ import {
4343
IgxGridExternalESFTemplateComponent,
4444
IgxGridDatesFilteringComponent,
4545
LoadOnDemandFilterStrategy,
46-
IgxGridFilteringNumericComponent
46+
IgxGridFilteringNumericComponent,
47+
IgxGridConditionalFilteringComponent
4748
} from '../../test-utils/grid-samples.spec';
4849
import { GridSelectionMode, FilterMode, Size } from '../common/enums';
4950
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
@@ -7080,6 +7081,26 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
70807081
}));
70817082

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

70857106
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 { ISortingOptions, IgxExcelStyleHeaderIconDirective, IgxGridToolbarAdvancedFilteringComponent, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from '../grids/public_api';
16+
import { 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';
@@ -2761,3 +2761,33 @@ export class ObjectCloneStrategy implements IDataCloneStrategy {
27612761
export class IgxGridRowEditingDefinedColumnsComponent extends BasicGridComponent {
27622762
public override data = SampleTestData.foodProductData();
27632763
}
2764+
2765+
@Component({
2766+
template: `<igx-grid [data]="data" height="500px" [allowFiltering]="true">
2767+
<igx-grid-excel-style-filtering>
2768+
<igx-excel-style-filter-operations>
2769+
<igx-excel-style-conditional-filter></igx-excel-style-conditional-filter>
2770+
</igx-excel-style-filter-operations>
2771+
</igx-grid-excel-style-filtering>
2772+
<igx-column width="100px" [field]="'ID'" [header]="'ID'" [hasSummary]="true"
2773+
[filterable]="false" [resizable]="resizable"></igx-column>
2774+
<igx-column width="100px" [field]="'ProductName'" [filterable]="filterable" [resizable]="resizable" dataType="string"></igx-column>
2775+
<igx-column width="100px" [field]="'Downloads'" [filterable]="filterable" [resizable]="resizable" dataType="number"></igx-column>
2776+
<igx-column width="100px" [field]="'Released'" [filterable]="filterable" [resizable]="resizable" dataType="boolean"></igx-column>
2777+
<igx-column width="100px" [field]="'ReleaseDate'" [header]="'ReleaseDate'" headerClasses="header-release-date"
2778+
[filterable]="filterable" [resizable]="resizable" dataType="date">
2779+
</igx-column>
2780+
<igx-column width="100px" [field]="'ReleaseDateTime'" [header]="'ReleaseDateTime'" headerClasses="header-release-date-time"
2781+
[filterable]="filterable" [resizable]="resizable" dataType="dateTime">
2782+
</igx-column>
2783+
<igx-column width="100px" [field]="'ReleaseTime'" [header]="'ReleaseTime'" headerClasses="header-release-time"
2784+
[filterable]="filterable" [resizable]="resizable" dataType="time">
2785+
</igx-column>
2786+
<igx-column width="100px" [field]="'AnotherField'" [header]="'Another Field'" [filterable]="filterable"
2787+
dataType="string" [filters]="customFilter">
2788+
</igx-column>
2789+
</igx-grid>`,
2790+
imports: [IgxGridComponent, IgxColumnComponent, IgxExcelStyleConditionalFilterComponent, IgxGridExcelStyleFilteringComponent, IgxExcelStyleFilterOperationsTemplateDirective]
2791+
})
2792+
export class IgxGridConditionalFilteringComponent extends IgxGridFilteringComponent {
2793+
}

0 commit comments

Comments
 (0)