From 30408840e9f131911a2a1fca5387fd5e64524852 Mon Sep 17 00:00:00 2001 From: jwu-fisker Date: Thu, 7 Jan 2021 16:21:42 -0800 Subject: [PATCH] Fix waitFor in some tests --- src/components/App/App.test.js | 14 ++++---- src/components/contexts/UserContext.test.jsx | 38 ++++++++------------ 2 files changed, 21 insertions(+), 31 deletions(-) diff --git a/src/components/App/App.test.js b/src/components/App/App.test.js index 1068b72..0cb2b76 100644 --- a/src/components/App/App.test.js +++ b/src/components/App/App.test.js @@ -13,8 +13,6 @@ const renderRoute = async (route) => { const { container } = render(); if (screen.queryByText(LOADING_STATUS)) { await waitForElementToBeRemoved(() => screen.getByText(LOADING_STATUS)); - } else { - await waitFor(() => {}); } return container; }; @@ -24,48 +22,48 @@ describe("App", () => { it("Route / unauthenticated", async () => { setToken(null); const container = await renderRoute("/"); - expect(container).toMatchSnapshot(); expect(container.querySelector("h1").innerHTML).toEqual("Sign in"); + expect(container).toMatchSnapshot(); cleanup(); }); it("Route /signup unauthenticated", async () => { setToken(null); const container = await renderRoute("/signup"); - expect(container).toMatchSnapshot(); expect(container.querySelector("h1").innerHTML).toEqual("Sign up"); + expect(container).toMatchSnapshot(); cleanup(); }); it("Route /home unauthenticated", async () => { setToken(null); const container = await renderRoute("/home"); - expect(container).toMatchSnapshot(); expect(container.querySelector("h1").innerHTML).toEqual("Sign in"); + expect(container).toMatchSnapshot(); cleanup(); }); it("Route / authenticated", async () => { setToken(TEST_TOKEN); const container = await renderRoute("/"); - expect(container).toMatchSnapshot(); expect(container.querySelector("h1").innerHTML).toEqual("Upload file"); + expect(container).toMatchSnapshot(); cleanup(); }); it("Route /signup authenticated", async () => { setToken(TEST_TOKEN); const container = await renderRoute("/signup"); - expect(container).toMatchSnapshot(); expect(container.querySelector("h1").innerHTML).toEqual("Upload file"); + expect(container).toMatchSnapshot(); cleanup(); }); it("Route /home authenticated", async () => { setToken(TEST_TOKEN); const container = await renderRoute("/home"); - expect(container).toMatchSnapshot(); expect(container.querySelector("h1").innerHTML).toEqual("Upload file"); + expect(container).toMatchSnapshot(); cleanup(); }); diff --git a/src/components/contexts/UserContext.test.jsx b/src/components/contexts/UserContext.test.jsx index 37e26c3..6e8193a 100644 --- a/src/components/contexts/UserContext.test.jsx +++ b/src/components/contexts/UserContext.test.jsx @@ -55,19 +55,15 @@ describe("UseContext", () => { it("No error sign up", async () => { fireEvent.click(screen.getByTestId("signUp")); - await waitFor(() => { - expect(screen.getByTestId("error").innerHTML).toEqual(""); - expect(screen.getByTestId("fetching").innerHTML).toEqual("false"); - }); + await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false")); + expect(screen.getByTestId("error").innerHTML).toEqual(""); }); it("Handle server error", async () => { auth.setSignUpResponse({ message: "SERVER-ERROR", error: "ERR" }); fireEvent.click(screen.getByTestId("signUp")); - await waitFor(() => { - expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR"); - expect(screen.getByTestId("fetching").innerHTML).toEqual("false"); - }); + await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false")); + expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR"); auth.setSignUpResponse({}); }); }); @@ -116,26 +112,22 @@ describe("UseContext", () => { }); it("No error sign in", async () => { + const TOKEN_STRING = JSON.stringify(TEST_TOKEN); auth.setSignInResponse(TEST_TOKEN); fireEvent.click(screen.getByTestId("signIn")); - await waitFor(() => { - const TOKEN_STRING = JSON.stringify(TEST_TOKEN); - expect(screen.getByTestId("error").innerHTML).toEqual(""); - expect(screen.getByTestId("fetching").innerHTML).toEqual("false"); - expect(screen.getByTestId("token").innerHTML).toEqual(TOKEN_STRING); - if (!sessionStorage) return; - expect(sessionStorage.getItem("token")).toEqual(TOKEN_STRING); - sessionStorage.removeItem("token"); - }); - }); + await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false")); + expect(screen.getByTestId("error").innerHTML).toEqual(""); + expect(screen.getByTestId("token").innerHTML).toEqual(TOKEN_STRING); + if (!sessionStorage) return; + expect(sessionStorage.getItem("token")).toEqual(TOKEN_STRING); + sessionStorage.removeItem("token"); + }); it("Handle server error", async () => { auth.setSignInResponse({ message: "SERVER-ERROR", error: "ERR" }); fireEvent.click(screen.getByTestId("signIn")); - await waitFor(() => { - expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR"); - expect(screen.getByTestId("fetching").innerHTML).toEqual("false"); - }); + await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false")); + expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR"); auth.setSignUpResponse({}); }); }); @@ -157,7 +149,7 @@ describe("UseContext", () => { render(); auth.setSignInResponse(TEST_TOKEN); fireEvent.click(screen.getByTestId("signIn")); - await waitFor(() => {}); + await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false")); }); afterEach(() => {