- describe("on submit", () => {
- it("calls onSearch with initial value passed via props", () => {
- const searchBar = mount(<SearchBarView value="initial value"
- onSearch={onSearch}
- currentView=''
- open={true}
- onSetView={jest.fn()}
- openView={jest.fn()}
- closeView={jest.fn()}
- saveQuery={jest.fn()}
- loadQueries={() => ['test']} />);
- searchBar.find("form").simulate("submit");
- expect(onSearch).toBeCalledWith("initial value");
- });
-
- it("calls onSearch with current value", () => {
- const searchBar = mount(<SearchBarView value=""
- onSearch={onSearch}
- currentView=''
- open={true}
- onSetView={jest.fn()}
- openView={jest.fn()}
- closeView={jest.fn()}
- saveQuery={jest.fn()}
- loadQueries={() => ['test']} />);
- 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(<SearchBarView value=""
- onSearch={onSearch}
- currentView=''
- open={true}
- onSetView={jest.fn()}
- openView={jest.fn()}
- closeView={jest.fn()}
- saveQuery={jest.fn()}
- loadQueries={() => ['test']} />);
- searchBar.find("input").simulate("change", { target: { value: "current 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(<SearchBarView value=""
- onSearch={onSearch}
- debounce={1000}
- currentView=''
- open={true}
- onSetView={jest.fn()}
- openView={jest.fn()}
- closeView={jest.fn()}
- saveQuery={jest.fn()}
- loadQueries={() => ['test']} />);
- searchBar.find("input").simulate("change", { target: { value: "current value" } });
- searchBar.find("form").simulate("submit");
- jest.runTimersToTime(1000);
- expect(onSearch).toHaveBeenCalledTimes(1);
- expect(onSearch).toBeCalledWith("current value");
- });
-
- });
-