X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/3a530766c12a5677e6b5f8c54cd3a61f8e6934b4..e51530db62c369733186003cc5f005e491f29373:/src/views-components/search-bar/search-bar-view.test.tsx diff --git a/src/views-components/search-bar/search-bar-view.test.tsx b/src/views-components/search-bar/search-bar-view.test.tsx index 4230aa80..5cd1545c 100644 --- a/src/views-components/search-bar/search-bar-view.test.tsx +++ b/src/views-components/search-bar/search-bar-view.test.tsx @@ -8,9 +8,10 @@ import { SearchBarView, DEFAULT_SEARCH_DEBOUNCE } from "./search-bar-view"; import * as Adapter from 'enzyme-adapter-react-16'; + configure({ adapter: new Adapter() }); -describe("", () => { +describe("", () => { jest.useFakeTimers(); @@ -21,29 +22,23 @@ describe("", () => { }); describe("on submit", () => { - it("calls onSearch with initial value passed via props", () => { - const searchBar = mount(); - searchBar.find("form").simulate("submit"); - expect(onSearch).toBeCalledWith("initial value"); - }); - it("calls onSearch with current value", () => { - const searchBar = mount(); + const searchBar = mount(); searchBar.find("input").simulate("change", { target: { value: "current value" } }); searchBar.find("form").simulate("submit"); expect(onSearch).toBeCalledWith("current value"); }); it("calls onSearch with new value passed via props", () => { - const searchBar = mount(); - searchBar.find("input").simulate("change", { target: { value: "current value" } }); + const searchBar = mount(); + searchBar.find("input").simulate("change", { target: { value: "new value" } }); searchBar.setProps({ value: "new value" }); searchBar.find("form").simulate("submit"); expect(onSearch).toBeCalledWith("new value"); }); it("cancels timeout set on input value change", () => { - const searchBar = mount(); + const searchBar = mount(); searchBar.find("input").simulate("change", { target: { value: "current value" } }); searchBar.find("form").simulate("submit"); jest.runTimersToTime(1000); @@ -55,7 +50,7 @@ describe("", () => { describe("on input value change", () => { it("calls onSearch after default timeout", () => { - const searchBar = mount(); + const searchBar = mount(); searchBar.find("input").simulate("change", { target: { value: "current value" } }); expect(onSearch).not.toBeCalled(); jest.runTimersToTime(DEFAULT_SEARCH_DEBOUNCE); @@ -63,7 +58,7 @@ describe("", () => { }); it("calls onSearch after the time specified in props has passed", () => { - const searchBar = mount(); + const searchBar = mount(); searchBar.find("input").simulate("change", { target: { value: "current value" } }); jest.runTimersToTime(1000); expect(onSearch).not.toBeCalled(); @@ -72,7 +67,7 @@ describe("", () => { }); it("calls onSearch only once after no change happened during the specified time", () => { - const searchBar = mount(); + const searchBar = mount(); searchBar.find("input").simulate("change", { target: { value: "current value" } }); jest.runTimersToTime(500); searchBar.find("input").simulate("change", { target: { value: "changed value" } }); @@ -81,7 +76,7 @@ describe("", () => { }); it("calls onSearch again after the specified time has passed since previous call", () => { - const searchBar = mount(); + const searchBar = mount(); searchBar.find("input").simulate("change", { target: { value: "current value" } }); jest.runTimersToTime(500); searchBar.find("input").simulate("change", { target: { value: "intermediate value" } }); @@ -95,3 +90,14 @@ describe("", () => { }); }); }); + +const mockSearchProps = () => ({ + currentView: '', + open: true, + onSetView: jest.fn(), + openView: jest.fn(), + loseView: jest.fn(), + closeView: jest.fn(), + saveQuery: jest.fn(), + loadQueries: () => ['test'] +}); \ No newline at end of file