tests
authorPawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
Tue, 9 Oct 2018 13:24:55 +0000 (15:24 +0200)
committerPawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
Tue, 9 Oct 2018 13:24:55 +0000 (15:24 +0200)
Feature #14313

Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>

src/views-components/search-bar/search-bar-view.test.tsx

index de1e961c158bf6aa6d439223d142a38419d2922b..d5330490d26c4cb769103b4b85cb89b48e33e3d3 100644 (file)
@@ -23,44 +23,20 @@ describe("<SearchBar />", () => {
 
     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']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             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']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             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']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             searchBar.find("input").simulate("change", { target: { value: "current value" } });
             searchBar.setProps({ value: "new value" });
             searchBar.find("form").simulate("submit");
@@ -68,16 +44,7 @@ describe("<SearchBar />", () => {
         });
 
         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']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             searchBar.find("input").simulate("change", { target: { value: "current value" } });
             searchBar.find("form").simulate("submit");
             jest.runTimersToTime(1000);
@@ -89,15 +56,7 @@ describe("<SearchBar />", () => {
 
     describe("on input value change", () => {
         it("calls onSearch after default timeout", () => {
-            const searchBar = mount(<SearchBarView value=""
-                onSearch={onSearch}
-                currentView=''
-                open={true}
-                onSetView={jest.fn()}
-                openView={jest.fn()}
-                closeView={jest.fn()}
-                saveQuery={jest.fn()}
-                loadQueries={() => ['test']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             searchBar.find("input").simulate("change", { target: { value: "current value" } });
             expect(onSearch).not.toBeCalled();
             jest.runTimersToTime(DEFAULT_SEARCH_DEBOUNCE);
@@ -105,16 +64,7 @@ describe("<SearchBar />", () => {
         });
 
         it("calls onSearch after the time specified in props has passed", () => {
-            const searchBar = mount(<SearchBarView value=""
-                onSearch={onSearch}
-                debounce={2000}
-                currentView=''
-                open={true}
-                onSetView={jest.fn()}
-                openView={jest.fn()}
-                closeView={jest.fn()}
-                saveQuery={jest.fn()}
-                loadQueries={() => ['test']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             searchBar.find("input").simulate("change", { target: { value: "current value" } });
             jest.runTimersToTime(1000);
             expect(onSearch).not.toBeCalled();
@@ -123,16 +73,7 @@ describe("<SearchBar />", () => {
         });
 
         it("calls onSearch only once after no change happened during the specified time", () => {
-            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']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             searchBar.find("input").simulate("change", { target: { value: "current value" } });
             jest.runTimersToTime(500);
             searchBar.find("input").simulate("change", { target: { value: "changed value" } });
@@ -141,16 +82,7 @@ describe("<SearchBar />", () => {
         });
 
         it("calls onSearch again after the specified time has passed since previous call", () => {
-            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']} />);
+            const searchBar = mount(<SearchBarView {...mockSearchProps()} />);
             searchBar.find("input").simulate("change", { target: { value: "current value" } });
             jest.runTimersToTime(500);
             searchBar.find("input").simulate("change", { target: { value: "intermediate value" } });
@@ -164,3 +96,17 @@ describe("<SearchBar />", () => {
         });
     });
 });
+
+const mockSearchProps = () => ({
+    value: "current value",
+    onSearch: jest.fn(),
+    debounce: 1000,
+    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