import { expect, it, vi } from "vitest"; const mocks = vi.hoisted(() => ({ read: vi.fn(), access: vi.fn() })); vi.mock("@/lib/permissions", () => ({ getAdminContext: async () => ({ session: { user: { rank: 1 } }, permissions: {}, }), canAccess: mocks.access, PERMS: { DEVOPS_VIEW: "devops.view" }, })); vi.mock("next/navigation", () => ({ redirect: () => { throw new Error("redirect"); }, })); vi.mock("@/lib/error-monitor", () => ({ ErrorStore: class { read = mocks.read; }, })); vi.mock("@/components/link", () => ({ default: () => null })); import Page from "./page"; it("rejects access before reading diagnostic data", async () => { mocks.access.mockReturnValue(false); await expect(Page({ searchParams: Promise.resolve({}) })).rejects.toThrow( "redirect", ); expect(mocks.read).not.toHaveBeenCalled(); });