jest.mock("../../services/auth"); jest.mock("../../services/getTimerWorker"); import { render, cleanup, screen, fireEvent, waitFor, } from "@testing-library/react"; import { UserProvider, useUserContext } from "../Contexts/UserContext"; import auth from "../../services/auth"; import getTimerWorker from "../../services/getTimerWorker"; import { TEST_AUTH_OBJECT, TEST_EXPECTED_GROUPS } from "../../utils/testing"; const INVALID_TOKEN_RESPONSE = { error: "Bad Request Error", message: "Bad Request Message", }; const setupRefreshEnv = (refreshResponse, valid) => { auth.setRefreshResponse(refreshResponse); auth.setVerifyResponse({ valid }); }; const setupSignInEnv = (refreshResponse, valid) => { auth.setSignInResponse(refreshResponse); auth.setVerifyResponse({ valid }); }; const checkBaseResults = (error, fetching, token, groups) => { expect(screen.getByTestId("error").innerHTML).toEqual(error); expect(screen.getByTestId("fetching").innerHTML).toEqual(fetching); expect(screen.getByTestId("token").innerHTML).toEqual(token); expect(screen.getByTestId("groups").innerHTML).toEqual(groups); }; const checkTokenResults = (timer, token) => { expect(timer.start.mock.calls.length).toEqual(1); expect(timer.onMessage.mock.calls.length).toEqual(1); expect(timer.stop.mock.calls.length).toEqual(0); expect(timer.terminate.mock.calls.length).toEqual(0); if (!localStorage) { expect(localStorage.getItem("token")).toEqual(token); localStorage.removeItem("token"); } }; describe("UseContext", () => { describe("Signin", () => { beforeEach(() => { const TestComp = () => { const { signIn, error, token, groups, fetching } = useUserContext(); return ( <>
{error}
{fetching.toString()}
{JSON.stringify(token)}
{groups}