Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / src / components / search-input / search-input.test.tsx
index c1bd79ab88601e42ed73059187479fe57db369fb..ba70f752b9d22fe131dd1b40fdbefe6b7dfa5731 100644 (file)
@@ -98,28 +98,20 @@ describe("<SearchInput />", () => {
     describe("on input target change", () => {
         it("clears the input value on selfClearProp change", () => {
             const searchInput = mount(<SearchInput selfClearProp="abc" value="123" onSearch={onSearch} debounce={1000}/>);
-            // initial no clear call
-            jest.runTimersToTime(0);
-            searchInput.setProps({ selfClearProp: '111' });
-            expect(onSearch).not.toBeCalledWith("");
-            expect(onSearch).toHaveBeenCalledTimes(0);
 
-            // second call trigger input clear
-            searchInput.setProps({ selfClearProp: 'aaa111' });
-            jest.runTimersToTime(0);
+            // component should clear value upon creation
+            jest.runTimersToTime(1000);
             expect(onSearch).toBeCalledWith("");
             expect(onSearch).toHaveBeenCalledTimes(1);
 
-            // third call trigger not input clear beacuse of the same selfClearProp value
-            searchInput.setProps({ selfClearProp: 'aaa111', value: '321' });
-            jest.runTimersToTime(0);
-            expect(onSearch).toBeCalledWith("");
+            // component should not clear on same selfClearProp
+            searchInput.setProps({ selfClearProp: 'abc' });
+            jest.runTimersToTime(1000);
             expect(onSearch).toHaveBeenCalledTimes(1);
-            expect(searchInput.props().value).toBe('321');
 
-            // third call trigger input clear beacuse of different selfClearProp value
-            searchInput.setProps({ selfClearProp: 'aaa222' });
-            jest.runTimersToTime(0);
+            // component should clear on selfClearProp change
+            searchInput.setProps({ selfClearProp: '111' });
+            jest.runTimersToTime(1000);
             expect(onSearch).toBeCalledWith("");
             expect(onSearch).toHaveBeenCalledTimes(2);
         });