import React from "react"; import { renderHook } from "@testing-library/react-hooks"; import { TuitioContext } from "../../src/contexts"; import { useTuitioToken } from "../../src/hooks"; describe("useTuitioToken: positive flow", () => { const testState = { userName: "test-user", token: "mocked-token", validUntil: new Date(), configuration: { tuitioUrl: null } }; testState.validUntil.setHours(testState.validUntil.getHours() + 1); const wrapper = ({ children }: { children?: React.ReactNode }) => ( {children} ); it("should return the correct token", () => { const { result } = renderHook(() => useTuitioToken(), { wrapper }); expect(result.current.token).toEqual("mocked-token"); }); it("should return false value for valid", () => { const { result } = renderHook(() => useTuitioToken(), { wrapper }); expect(result.current.valid).toBe(true); }); it("validate should return true value", () => { const { result } = renderHook(() => useTuitioToken(), { wrapper }); const valid = result.current.validate(); expect(valid).toBe(true); }); }); describe("useTuitioToken: negative flow", () => { const testState = { userName: "test-user", token: null, validUntil: null, configuration: { tuitioUrl: null } }; const wrapper = ({ children }: { children?: React.ReactNode }) => ( {children} ); it("should return null for token", () => { const { result } = renderHook(() => useTuitioToken(), { wrapper }); expect(result.current.token).toBeNull(); }); it("should return false value for valid", () => { const { result } = renderHook(() => useTuitioToken(), { wrapper }); expect(result.current.valid).toBe(false); }); it("validate should return false value", () => { const { result } = renderHook(() => useTuitioToken(), { wrapper }); const valid = result.current.validate(); expect(valid).toBe(false); }); });