Fix waitFor in some tests

This commit is contained in:
jwu-fisker
2021-01-07 16:21:42 -08:00
parent 116581c7dd
commit 30408840e9
2 changed files with 21 additions and 31 deletions

View File

@@ -13,8 +13,6 @@ const renderRoute = async (route) => {
const { container } = render(<App />); const { container } = render(<App />);
if (screen.queryByText(LOADING_STATUS)) { if (screen.queryByText(LOADING_STATUS)) {
await waitForElementToBeRemoved(() => screen.getByText(LOADING_STATUS)); await waitForElementToBeRemoved(() => screen.getByText(LOADING_STATUS));
} else {
await waitFor(() => {});
} }
return container; return container;
}; };
@@ -24,48 +22,48 @@ describe("App", () => {
it("Route / unauthenticated", async () => { it("Route / unauthenticated", async () => {
setToken(null); setToken(null);
const container = await renderRoute("/"); const container = await renderRoute("/");
expect(container).toMatchSnapshot();
expect(container.querySelector("h1").innerHTML).toEqual("Sign in"); expect(container.querySelector("h1").innerHTML).toEqual("Sign in");
expect(container).toMatchSnapshot();
cleanup(); cleanup();
}); });
it("Route /signup unauthenticated", async () => { it("Route /signup unauthenticated", async () => {
setToken(null); setToken(null);
const container = await renderRoute("/signup"); const container = await renderRoute("/signup");
expect(container).toMatchSnapshot();
expect(container.querySelector("h1").innerHTML).toEqual("Sign up"); expect(container.querySelector("h1").innerHTML).toEqual("Sign up");
expect(container).toMatchSnapshot();
cleanup(); cleanup();
}); });
it("Route /home unauthenticated", async () => { it("Route /home unauthenticated", async () => {
setToken(null); setToken(null);
const container = await renderRoute("/home"); const container = await renderRoute("/home");
expect(container).toMatchSnapshot();
expect(container.querySelector("h1").innerHTML).toEqual("Sign in"); expect(container.querySelector("h1").innerHTML).toEqual("Sign in");
expect(container).toMatchSnapshot();
cleanup(); cleanup();
}); });
it("Route / authenticated", async () => { it("Route / authenticated", async () => {
setToken(TEST_TOKEN); setToken(TEST_TOKEN);
const container = await renderRoute("/"); const container = await renderRoute("/");
expect(container).toMatchSnapshot();
expect(container.querySelector("h1").innerHTML).toEqual("Upload file"); expect(container.querySelector("h1").innerHTML).toEqual("Upload file");
expect(container).toMatchSnapshot();
cleanup(); cleanup();
}); });
it("Route /signup authenticated", async () => { it("Route /signup authenticated", async () => {
setToken(TEST_TOKEN); setToken(TEST_TOKEN);
const container = await renderRoute("/signup"); const container = await renderRoute("/signup");
expect(container).toMatchSnapshot();
expect(container.querySelector("h1").innerHTML).toEqual("Upload file"); expect(container.querySelector("h1").innerHTML).toEqual("Upload file");
expect(container).toMatchSnapshot();
cleanup(); cleanup();
}); });
it("Route /home authenticated", async () => { it("Route /home authenticated", async () => {
setToken(TEST_TOKEN); setToken(TEST_TOKEN);
const container = await renderRoute("/home"); const container = await renderRoute("/home");
expect(container).toMatchSnapshot();
expect(container.querySelector("h1").innerHTML).toEqual("Upload file"); expect(container.querySelector("h1").innerHTML).toEqual("Upload file");
expect(container).toMatchSnapshot();
cleanup(); cleanup();
}); });

View File

@@ -55,19 +55,15 @@ describe("UseContext", () => {
it("No error sign up", async () => { it("No error sign up", async () => {
fireEvent.click(screen.getByTestId("signUp")); fireEvent.click(screen.getByTestId("signUp"));
await waitFor(() => { await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false"));
expect(screen.getByTestId("error").innerHTML).toEqual(""); expect(screen.getByTestId("error").innerHTML).toEqual("");
expect(screen.getByTestId("fetching").innerHTML).toEqual("false");
});
}); });
it("Handle server error", async () => { it("Handle server error", async () => {
auth.setSignUpResponse({ message: "SERVER-ERROR", error: "ERR" }); auth.setSignUpResponse({ message: "SERVER-ERROR", error: "ERR" });
fireEvent.click(screen.getByTestId("signUp")); fireEvent.click(screen.getByTestId("signUp"));
await waitFor(() => { await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false"));
expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR"); expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR");
expect(screen.getByTestId("fetching").innerHTML).toEqual("false");
});
auth.setSignUpResponse({}); auth.setSignUpResponse({});
}); });
}); });
@@ -116,26 +112,22 @@ describe("UseContext", () => {
}); });
it("No error sign in", async () => { it("No error sign in", async () => {
const TOKEN_STRING = JSON.stringify(TEST_TOKEN);
auth.setSignInResponse(TEST_TOKEN); auth.setSignInResponse(TEST_TOKEN);
fireEvent.click(screen.getByTestId("signIn")); fireEvent.click(screen.getByTestId("signIn"));
await waitFor(() => { await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false"));
const TOKEN_STRING = JSON.stringify(TEST_TOKEN); expect(screen.getByTestId("error").innerHTML).toEqual("");
expect(screen.getByTestId("error").innerHTML).toEqual(""); expect(screen.getByTestId("token").innerHTML).toEqual(TOKEN_STRING);
expect(screen.getByTestId("fetching").innerHTML).toEqual("false"); if (!sessionStorage) return;
expect(screen.getByTestId("token").innerHTML).toEqual(TOKEN_STRING); expect(sessionStorage.getItem("token")).toEqual(TOKEN_STRING);
if (!sessionStorage) return; sessionStorage.removeItem("token");
expect(sessionStorage.getItem("token")).toEqual(TOKEN_STRING); });
sessionStorage.removeItem("token");
});
});
it("Handle server error", async () => { it("Handle server error", async () => {
auth.setSignInResponse({ message: "SERVER-ERROR", error: "ERR" }); auth.setSignInResponse({ message: "SERVER-ERROR", error: "ERR" });
fireEvent.click(screen.getByTestId("signIn")); fireEvent.click(screen.getByTestId("signIn"));
await waitFor(() => { await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false"));
expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR"); expect(screen.getByTestId("error").innerHTML).toEqual("SERVER-ERROR");
expect(screen.getByTestId("fetching").innerHTML).toEqual("false");
});
auth.setSignUpResponse({}); auth.setSignUpResponse({});
}); });
}); });
@@ -157,7 +149,7 @@ describe("UseContext", () => {
render(<UserProvider><TestComp /></UserProvider>); render(<UserProvider><TestComp /></UserProvider>);
auth.setSignInResponse(TEST_TOKEN); auth.setSignInResponse(TEST_TOKEN);
fireEvent.click(screen.getByTestId("signIn")); fireEvent.click(screen.getByTestId("signIn"));
await waitFor(() => {}); await waitFor(() => expect(screen.getByTestId("fetching").innerHTML).toEqual("false"));
}); });
afterEach(() => { afterEach(() => {