import { DataExplorerMiddlewareService } from "./data-explorer-middleware-service";
import { dataExplorerMiddleware } from "./data-explorer-middleware";
import { MiddlewareAPI } from "redux";
-import { DataColumns } from "~/components/data-table/data-table";
+import { DataColumns } from "components/data-table/data-table";
import { dataExplorerActions } from "./data-explorer-action";
-import { SortDirection } from "~/components/data-table/data-column";
+import { SortDirection } from "components/data-table/data-column";
+import { createTree } from 'models/tree';
+import { DataTableFilterItem } from "components/data-table-filters/data-table-filters-tree";
describe("DataExplorerMiddleware", () => {
selected: true,
configurable: false,
sortDirection: SortDirection.NONE,
- filters: [],
+ filters: createTree<DataTableFilterItem>(),
render: jest.fn()
}],
requestItems: jest.fn(),
middleware(dataExplorerActions.SET_PAGE({ id: "OtherId", page: 0 }));
middleware(dataExplorerActions.SET_PAGE({ id: "ServiceId", page: 0 }));
middleware(dataExplorerActions.SET_PAGE({ id: "OtherId", page: 0 }));
- expect(api.dispatch).toHaveBeenCalledWith(dataExplorerActions.REQUEST_ITEMS({ id: "ServiceId" }));
+ expect(api.dispatch).toHaveBeenCalledWith(dataExplorerActions.REQUEST_ITEMS({ id: "ServiceId", criteriaChanged: false }));
expect(api.dispatch).toHaveBeenCalledTimes(1);
});
selected: true,
configurable: false,
sortDirection: SortDirection.NONE,
- filters: [],
+ filters: createTree<DataTableFilterItem>(),
render: jest.fn()
}],
requestItems: jest.fn(),
const next = jest.fn();
const middleware = dataExplorerMiddleware(service)(api)(next);
middleware(dataExplorerActions.REQUEST_ITEMS({ id: "ServiceId" }));
- expect(config.requestItems).toHaveBeenCalled();
+ expect(api.dispatch).toHaveBeenCalledTimes(1);
});
it("handles SET_PAGE action", () => {
};
const next = jest.fn();
const middleware = dataExplorerMiddleware(service)(api)(next);
- middleware(dataExplorerActions.SET_FILTERS({ id: service.getId(), columnName: "", filters: [] }));
+ middleware(dataExplorerActions.SET_FILTERS({ id: service.getId(), columnName: "", filters: createTree() }));
expect(api.dispatch).toHaveBeenCalledTimes(2);
});
class ServiceMock extends DataExplorerMiddlewareService {
constructor(private config: {
id: string,
- columns: DataColumns<any>,
- requestItems: (api: MiddlewareAPI) => void
+ columns: DataColumns<any, any>,
+ requestItems: (api: MiddlewareAPI) => Promise<void>
}) {
super(config.id);
}
return this.config.columns;
}
- requestItems(api: MiddlewareAPI) {
+ requestItems(api: MiddlewareAPI): Promise<void> {
this.config.requestItems(api);
+ return Promise.resolve();
}
}