33 lines
986 B
TypeScript
33 lines
986 B
TypeScript
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
|
|
vi.mock("next/navigation", () => ({
|
|
redirect: (location: string) => {
|
|
throw new Error(`redirect:${location}`);
|
|
},
|
|
}));
|
|
|
|
vi.mock("@/lib/db/prisma", () => {
|
|
throw new Error("Business Prisma must not load while importing the Manager root.");
|
|
});
|
|
|
|
vi.mock("@/features/welcome/pages/business-welcome-page", () => {
|
|
throw new Error("Business welcome page must not load while importing the Manager root.");
|
|
});
|
|
|
|
import RootPage from "@/app/page";
|
|
|
|
describe("root deployment entry point", () => {
|
|
const originalManagerMode = process.env.MANAGER_MODE;
|
|
|
|
afterEach(() => {
|
|
if (originalManagerMode === undefined) delete process.env.MANAGER_MODE;
|
|
else process.env.MANAGER_MODE = originalManagerMode;
|
|
});
|
|
|
|
it("redirects Manager root without evaluating business page or Prisma", async () => {
|
|
process.env.MANAGER_MODE = "true";
|
|
|
|
await expect(RootPage()).rejects.toThrow("redirect:/manager");
|
|
});
|
|
});
|