import React from "react"; import { renderHook } from "@testing-library/react-hooks"; import { TuitioContext } from "../../src/contexts"; import { useTuitioUser } from "../../src/hooks"; describe("useTuitioUser: positive flow", () => { it("should return the userName and lastLoginDate from the TuitioContext", () => { const testState = { userName: "test-user", token: { raw: "mocked-token", validFrom: new Date(2023, 1, 1), validUntil: new Date(2023, 12, 31) }, configuration: { tuitioUrl: null } }; const wrapper = ({ children }: { children?: React.ReactNode }) => ( {children} ); const { result } = renderHook(() => useTuitioUser(), { wrapper }); expect(result.current.userName).toEqual("test-user"); expect(result.current.lastLoginDate).toEqual(new Date(2023, 1, 1)); }); }); describe("useTuitioUser: negative flow", () => { it("should return the userName and lastLoginDate from the TuitioContext", () => { const testState = { userName: "test-user", token: null, configuration: { tuitioUrl: null } }; const wrapper = ({ children }: { children?: React.ReactNode }) => ( {children} ); const { result } = renderHook(() => useTuitioUser(), { wrapper }); expect(result.current.userName).toEqual("test-user"); expect(result.current.lastLoginDate).toBe(undefined); }); });