Files
EpicNext-Cms/src/app/admin/devops/cms-errors/page.test.ts
T

33 lines
836 B
TypeScript

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();
});