From dd7dfaa9220b876de6761a9c99c6cfd6ed8ad4cd Mon Sep 17 00:00:00 2001 From: Renan Mendes Carvalho Date: Tue, 27 Jun 2023 10:44:46 +0200 Subject: [PATCH] test(search): Move expectations inside waitFor Signed-off-by: Renan Mendes Carvalho --- .../components/SearchBar/SearchBar.test.tsx | 59 +++++++++---------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/plugins/search-react/src/components/SearchBar/SearchBar.test.tsx b/plugins/search-react/src/components/SearchBar/SearchBar.test.tsx index 5af5447740..9b4664aceb 100644 --- a/plugins/search-react/src/components/SearchBar/SearchBar.test.tsx +++ b/plugins/search-react/src/components/SearchBar/SearchBar.test.tsx @@ -323,44 +323,39 @@ describe('SearchBar', () => { const textbox = screen.getByLabelText('Search'); let value = 'value'; - await user.type(textbox, value); - - expect(analyticsApiMock.getEvents()).toHaveLength(0); - - await waitFor(() => expect(analyticsApiMock.getEvents()).toHaveLength(1)); - - expect(textbox).toHaveValue(value); - expect(analyticsApiMock.getEvents()[0]).toEqual({ - action: 'search', - context: { - extension: 'SearchBar', - pluginId: 'search', - routeRef: 'unknown', - searchTypes: types.toString(), - }, - subject: value, + await waitFor(() => { + expect(analyticsApiMock.getEvents()).toHaveLength(1); + expect(textbox).toHaveValue(value); + expect(analyticsApiMock.getEvents()[0]).toEqual({ + action: 'search', + context: { + extension: 'SearchBar', + pluginId: 'search', + routeRef: 'unknown', + searchTypes: types.toString(), + }, + subject: value, + }); }); - await user.clear(textbox); - value = 'new value'; - + await user.clear(textbox); // make sure new term is captured await user.type(textbox, value); - - await waitFor(() => expect(analyticsApiMock.getEvents()).toHaveLength(2)); - - expect(textbox).toHaveValue(value); - expect(analyticsApiMock.getEvents()[1]).toEqual({ - action: 'search', - context: { - extension: 'SearchBar', - pluginId: 'search', - routeRef: 'unknown', - searchTypes: types.toString(), - }, - subject: value, + await waitFor(() => { + expect(analyticsApiMock.getEvents()).toHaveLength(2); + expect(textbox).toHaveValue(value); + expect(analyticsApiMock.getEvents()[1]).toEqual({ + action: 'search', + context: { + extension: 'SearchBar', + pluginId: 'search', + routeRef: 'unknown', + searchTypes: types.toString(), + }, + subject: value, + }); }); }); });