- it("passes filter props to <DataTableFilter />", () => {
- const columns: DataColumns<string> = [{
- name: "Column 1",
- sortDirection: SortDirection.ASC,
- selected: true,
- configurable: true,
- filters: [{ name: "Filter 1", selected: true }],
- render: (item) => <Typography>{item}</Typography>
- }];
+ it("does not display <DataTableFiltersPopover /> if there is no filters provided", () => {
+ const columns: DataColumns<string, string> = [
+ {
+ name: "Column 1",
+ selected: true,
+ configurable: true,
+ filters: [],
+ render: item => <Typography>{item}</Typography>,
+ },
+ ];
+ const onFiltersChange = jest.fn();
+ const dataTable = mount(
+ <DataTable
+ columns={columns}
+ items={[]}
+ onFiltersChange={onFiltersChange}
+ onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
+ onSortToggle={jest.fn()}
+ onContextMenu={jest.fn()}
+ setCheckedListOnStore={jest.fn()}
+ />
+ );
+ expect(dataTable.find(DataTableFiltersPopover)).toHaveLength(0);
+ });
+
+ it("passes filter props to <DataTableFiltersPopover />", () => {
+ const filters = pipe(() => createTree<DataTableFilterItem>(), setNode(initTreeNode({ id: "filter", value: { name: "filter" } })));
+ const columns: DataColumns<string, string> = [
+ {
+ name: "Column 1",
+ selected: true,
+ configurable: true,
+ filters: filters(),
+ render: item => <Typography>{item}</Typography>,
+ },
+ ];