X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6d1c41d6fd83824669cd1a6d714ea6da1ae7ab4c..2168b78443afc8bd1649ccd96e02fb1bce9b5243:/services/workbench2/src/components/data-explorer/data-explorer.test.tsx diff --git a/services/workbench2/src/components/data-explorer/data-explorer.test.tsx b/services/workbench2/src/components/data-explorer/data-explorer.test.tsx index dc7e872579..b86567a54c 100644 --- a/services/workbench2/src/components/data-explorer/data-explorer.test.tsx +++ b/services/workbench2/src/components/data-explorer/data-explorer.test.tsx @@ -4,29 +4,53 @@ import React from "react"; import { configure, mount } from "enzyme"; -import Adapter from 'enzyme-adapter-react-16'; +import Adapter from "enzyme-adapter-react-16"; import { DataExplorer } from "./data-explorer"; import { ColumnSelector } from "../column-selector/column-selector"; import { DataTable, DataTableFetchMode } from "../data-table/data-table"; import { SearchInput } from "../search-input/search-input"; import { TablePagination } from "@material-ui/core"; -import { ProjectIcon } from '../icon/icon'; -import { SortDirection } from '../data-table/data-column'; +import { ProjectIcon } from "../icon/icon"; +import { SortDirection } from "../data-table/data-column"; +import { combineReducers, createStore } from "redux"; +import { Provider } from "react-redux"; configure({ adapter: new Adapter() }); describe("", () => { + let store; + beforeEach(() => { + const initialMSState = { + multiselect: { + checkedList: {}, + isVisible: false, + }, + resources: {}, + }; + store = createStore( + combineReducers({ + multiselect: (state: any = initialMSState.multiselect, action: any) => state, + resources: (state: any = initialMSState.resources, action: any) => state, + }) + ); + }); it("communicates with ", () => { const onSearch = jest.fn(); const onSetColumns = jest.fn(); - const dataExplorer = mount(); + + const dataExplorer = mount( + + + + ); expect(dataExplorer.find(SearchInput).prop("value")).toEqual("search value"); dataExplorer.find(SearchInput).prop("onSearch")("new value"); expect(onSearch).toHaveBeenCalledWith("new value"); @@ -36,12 +60,17 @@ describe("", () => { const onColumnToggle = jest.fn(); const onSetColumns = jest.fn(); const columns = [{ name: "Column 1", render: jest.fn(), selected: true, configurable: true, sortDirection: SortDirection.ASC, filters: {} }]; - const dataExplorer = mount(); + const dataExplorer = mount( + + + + ); expect(dataExplorer.find(ColumnSelector).prop("columns")).toBe(columns); dataExplorer.find(ColumnSelector).prop("onColumnToggle")("columns"); expect(onColumnToggle).toHaveBeenCalledWith("columns"); @@ -54,15 +83,20 @@ describe("", () => { const onSetColumns = jest.fn(); const columns = [{ name: "Column 1", render: jest.fn(), selected: true, configurable: true, sortDirection: SortDirection.ASC, filters: {} }]; const items = [{ name: "item 1" }]; - const dataExplorer = mount(); - expect(dataExplorer.find(DataTable).prop("columns").slice(0, -1)).toEqual(columns); + const dataExplorer = mount( + + + + ); + expect(dataExplorer.find(DataTable).prop("columns").slice(1, 2)).toEqual(columns); expect(dataExplorer.find(DataTable).prop("items")).toBe(items); dataExplorer.find(DataTable).prop("onRowClick")("event", "rowClick"); dataExplorer.find(DataTable).prop("onFiltersChange")("filtersChange"); @@ -76,14 +110,19 @@ describe("", () => { const onChangePage = jest.fn(); const onChangeRowsPerPage = jest.fn(); const onSetColumns = jest.fn(); - const dataExplorer = mount(); + const dataExplorer = mount( + + + + ); expect(dataExplorer.find(TablePagination).prop("page")).toEqual(10); expect(dataExplorer.find(TablePagination).prop("rowsPerPage")).toEqual(50); dataExplorer.find(TablePagination).prop("onChangePage")(undefined, 6); @@ -115,6 +154,10 @@ const mockDataExplorerProps = () => ({ defaultIcon: ProjectIcon, onSetColumns: jest.fn(), onLoadMore: jest.fn(), - defaultMessages: ['testing'], - contextMenuColumn: true + defaultMessages: ["testing"], + contextMenuColumn: true, + setCheckedListOnStore: jest.fn(), + toggleMSToolbar: jest.fn(), + isMSToolbarVisible: false, + checkedList: {}, });