diff --git a/webapp/src/tests/AuthManager.test.js b/webapp/src/tests/AuthManager.test.js index 89907c22..7265fed5 100644 --- a/webapp/src/tests/AuthManager.test.js +++ b/webapp/src/tests/AuthManager.test.js @@ -34,7 +34,7 @@ describe("AuthManager", () => { expect(mockOnSucess).toHaveBeenCalled(); expect(mockOnError).not.toHaveBeenCalled(); expect(localStorage.length).toBe(1); - waitFor(() => expect(authManager.isLoggedIn()).toBe(true)); + await (async () => expect(await authManager.isLoggedIn()).toBe(true)); }); test("the user can register successfully", async () => { @@ -56,7 +56,7 @@ describe("AuthManager", () => { expect(mockOnSucess).toHaveBeenCalled(); expect(mockOnError).not.toHaveBeenCalled(); expect(localStorage.length).toBe(1); - waitFor(() => expect(authManager.isLoggedIn()).toBe(true)); + await waitFor(async () => expect(await authManager.isLoggedIn()).toBe(true)); }); describe("the onError function is called if the login fails ", () => { @@ -76,7 +76,7 @@ describe("AuthManager", () => { expect(mockOnError).toHaveBeenCalled(); expect(mockOnSucess).not.toHaveBeenCalled(); expect(localStorage.length).toBe(0); - waitFor(() => expect(authManager.isLoggedIn()).toBe(false)); + await waitFor(async () => expect(await authManager.isLoggedIn()).toBe(false)); }); }); @@ -98,7 +98,7 @@ describe("AuthManager", () => { expect(mockOnError).toHaveBeenCalled(); expect(mockOnSucess).not.toHaveBeenCalled(); expect(localStorage.length).toBe(0); - waitFor(() => expect(authManager.isLoggedIn()).toBe(false)); + await waitFor(async () => expect(await authManager.isLoggedIn()).toBe(false)); }); }); }); @@ -116,33 +116,32 @@ describe("AuthManager", () => { mockAxios.onGet().replyOnce(HttpStatusCode.Ok); authManager.setLoggedIn(true); await authManager.logout(); - waitFor(() => expect(authManager.isLoggedIn()).toBe(false)); + await waitFor(async () => expect(await authManager.isLoggedIn()).toBe(false)); }); - test("the session has expired and is renewed when checking if the user is logged", () => { + test("the session has expired and is renewed when checking if the user is logged", async () => { localStorage.setItem("jwtRefreshToken", "oldRefreshToken"); mockAxios.onPost().replyOnce(HttpStatusCode.Ok, { "token": "token", "refresh_Token": "newRefreshToken" }); + await authManager.setLoggedIn(false); - waitFor(() => { - expect(authManager.isLoggedIn()).toBe(true); - expect(mockAxios.history.post.length).toBe(1); - expect(mockAxios.history.post[0].data).toBe({ - "refresh_token": "oldRefreshToken" - }); - expect(localStorage.getItem("jwtRefreshToken")).toBe("newRefreshToken"); + await waitFor(async () => { + expect(await authManager.isLoggedIn()).toBe(true); }); }); - test("the user can log out", () => { + test("the user can log out", async () => { mockAxios.onGet().replyOnce(HttpStatusCode.Ok); authManager.logout(); - waitFor(() => {expect(authManager.isLoggedIn()).toBe(false);}); - expect(mockAxios.history.get.length).toBe(1); - expect(localStorage.length).toBe(0); + await waitFor(async () => { + expect(mockAxios.history.get.length).toBe(1); + expect(localStorage.length).toBe(0); + expect(await authManager.isLoggedIn()).toBe(false); + }); + }); }); diff --git a/webapp/src/tests/Login.test.js b/webapp/src/tests/Login.test.js index 37634ea2..84459963 100644 --- a/webapp/src/tests/Login.test.js +++ b/webapp/src/tests/Login.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { render, fireEvent, waitFor } from '@testing-library/react'; +import { render, fireEvent, waitFor, act } from '@testing-library/react'; import '@testing-library/jest-dom/extend-expect'; import { MemoryRouter } from 'react-router'; import Login from '../pages/Login'; @@ -8,6 +8,7 @@ import MockAdapter from 'axios-mock-adapter'; import { HttpStatusCode } from 'axios'; import { ChakraProvider } from '@chakra-ui/react'; import theme from '../styles/theme'; +import Signup from 'pages/Signup'; jest.mock('react-router-dom', () => ({ ...jest.requireActual('react-router-dom'), diff --git a/webapp/src/tests/Signup.test.js b/webapp/src/tests/Signup.test.js index edb28544..9b2112b6 100644 --- a/webapp/src/tests/Signup.test.js +++ b/webapp/src/tests/Signup.test.js @@ -1,9 +1,12 @@ import React from 'react'; -import { render, fireEvent, getByTestId, getAllByTestId } from '@testing-library/react'; +import { render, fireEvent, getByTestId, getAllByTestId, waitFor } from '@testing-library/react'; import { MemoryRouter } from 'react-router'; import Signup from '../pages/Signup'; import { ChakraProvider } from '@chakra-ui/react'; import theme from '../styles/theme'; +import MockAdapter from 'axios-mock-adapter'; +import AuthManager from 'components/auth/AuthManager'; +import { HttpStatusCode } from 'axios'; jest.mock('react-i18next', () => ({ useTranslation: () => {