Fix waitFor in some tests
This commit is contained in:
@@ -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();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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("fetching").innerHTML).toEqual("false");
|
|
||||||
expect(screen.getByTestId("token").innerHTML).toEqual(TOKEN_STRING);
|
expect(screen.getByTestId("token").innerHTML).toEqual(TOKEN_STRING);
|
||||||
if (!sessionStorage) return;
|
if (!sessionStorage) return;
|
||||||
expect(sessionStorage.getItem("token")).toEqual(TOKEN_STRING);
|
expect(sessionStorage.getItem("token")).toEqual(TOKEN_STRING);
|
||||||
sessionStorage.removeItem("token");
|
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(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user