import { DataExplorerMiddlewareService } from "./data-explorer-middleware-service";
import { dataExplorerMiddleware } from "./data-explorer-middleware";
-import { MiddlewareAPI } from "../../../node_modules/redux";
-import { DataColumns } from "../../components/data-table/data-table";
+import { MiddlewareAPI } from "redux";
+import { DataColumns } from "~/components/data-table/data-table";
import { dataExplorerActions } from "./data-explorer-action";
+import { SortDirection } from "~/components/data-table/data-column";
describe("DataExplorerMiddleware", () => {
- it("initializes columns in the store", () => {
- const config = {
- id: "Id",
- columns: [{
- name: "Column",
- selected: true,
- configurable: false,
- render: jest.fn()
- }],
- requestItems: jest.fn(),
- setApi: jest.fn()
- };
- const service = new ServiceMock(config);
- const api = {
- getState: jest.fn(),
- dispatch: jest.fn()
- };
- const next = jest.fn();
- dataExplorerMiddleware(service)(api)(next);
- expect(next)
- .toHaveBeenCalledWith(dataExplorerActions.SET_COLUMNS({ id: service.getId(), columns: service.getColumns() }));
- });
-
it("handles only actions that are identified by service id", () => {
const config = {
id: "ServiceId",
name: "Column",
selected: true,
configurable: false,
+ sortDirection: SortDirection.NONE,
+ filters: [],
render: jest.fn()
}],
requestItems: jest.fn(),
name: "Column",
selected: true,
configurable: false,
+ sortDirection: SortDirection.NONE,
+ filters: [],
render: jest.fn()
}],
requestItems: jest.fn(),
middleware(dataExplorerActions.SET_ITEMS({ id: service.getId(), items: [], rowsPerPage: 0, itemsAvailable: 0, page: 0 }));
middleware(dataExplorerActions.TOGGLE_COLUMN({ id: service.getId(), columnName: "" }));
expect(api.dispatch).toHaveBeenCalledTimes(0);
- expect(next).toHaveBeenCalledTimes(4);
+ expect(next).toHaveBeenCalledTimes(3);
});
});
constructor(private config: {
id: string,
columns: DataColumns<any>,
- requestItems: (api: MiddlewareAPI) => void;
- setApi: () => void;
+ requestItems: (api: MiddlewareAPI) => void
}) {
super(config.id);
}