From 75efff209740c379211fdeea4e92b331f197c6bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20J=C3=BAlio=20Moreira?= Date: Tue, 11 Apr 2023 16:30:19 +0100 Subject: [PATCH] Refactor tests to use testHook and update to rtl --- .../Offer/useChipsFieldSearch.spec.js | 19 +++---------------- src/test-utils.js | 14 +++++++++++++- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/components/HomePage/SearchResultsArea/Offer/useChipsFieldSearch.spec.js b/src/components/HomePage/SearchResultsArea/Offer/useChipsFieldSearch.spec.js index bc914b7b..6953b17a 100644 --- a/src/components/HomePage/SearchResultsArea/Offer/useChipsFieldSearch.spec.js +++ b/src/components/HomePage/SearchResultsArea/Offer/useChipsFieldSearch.spec.js @@ -3,7 +3,7 @@ import React from "react"; import { MemoryRouter, useLocation } from "react-router-dom"; import qs from "qs"; -import { renderWithStoreAndTheme, TestComponent } from "../../../../test-utils"; +import { renderWithStoreAndTheme, TestComponent, testHook, testHookWithStoreAndTheme } from "../../../../test-utils"; import { act } from "react-dom/test-utils"; import useChipsFieldSearch from "./useChipsFieldSearch"; import { createTheme } from "@material-ui/core"; @@ -28,14 +28,7 @@ describe("useChipsFieldSearch", () => { location = useLocation(); }; - - renderWithStoreAndTheme( - - - , - { initialState, theme } - ); - + testHookWithStoreAndTheme(callback, initialState, theme, MemoryRouter); expect(location).toHaveProperty("search", ""); @@ -80,13 +73,7 @@ describe("useChipsFieldSearch", () => { location = useLocation(); }; - - renderWithStoreAndTheme( - - - , - { initialState, theme } - ); + testHookWithStoreAndTheme(callback, initialState, theme, MemoryRouter, { initialEntries: ["/"] }); expect(location).toHaveProperty("search", ""); diff --git a/src/test-utils.js b/src/test-utils.js index 2c8544c8..e6f63dbd 100644 --- a/src/test-utils.js +++ b/src/test-utils.js @@ -44,13 +44,25 @@ export const TestComponent = ({ callback }) => { }; export const testHook = (callback, Wrapper = React.Fragment, wrapperProps = {}) => { - mount( + defaultRender( ); }; +export const testHookWithStoreAndTheme = (callback, initialState, theme, Wrapper = React.Fragment, wrapperProps = {}) => { + renderWithStoreAndTheme( + + + , + { + initialState, + theme, + } + ); +}; + const [queryDescriptionOf, , getDescriptionOf, , findDescriptionOf] = buildQueries( function queryAllDescriptionsOf(container, element) { return container.querySelectorAll(`#${element.getAttribute("aria-describedby")}`);