import { render, screen } from "@testing-library/react";
import { afterEach, describe, expect, it, vi } from "vitest";
const { authProvider } = vi.hoisted(() => ({
authProvider: vi.fn(({ children }: { children: React.ReactNode }) => <>{children}>),
}));
vi.mock("./auth/AuthContext", () => ({
AuthProvider: authProvider,
useAuth: () => ({ user: null, loading: false }),
}));
vi.mock("./pages/PublicDisplayCenterPage", () => ({
PublicDisplayCenterPage: () =>
公开大屏页面
,
}));
vi.mock("./pages/AdminPage", () => ({ AdminPage: () => 管理页面
}));
vi.mock("./pages/DisplayPage", () => ({ DisplayPage: () => 单项目公屏
}));
vi.mock("./pages/HistoryPage", () => ({ HistoryPage: () => 历史页面
}));
vi.mock("./pages/LoginPage", () => ({ LoginPage: () => 登录页面
}));
vi.mock("./pages/StaffPage", () => ({ StaffPage: () => 员工页面
}));
vi.mock("./pages/VisitorPage", () => ({ VisitorPage: () => 游客页面
}));
vi.mock("./pages/VisitorLookupPage", () => ({ VisitorLookupPage: () => 游客查询
}));
vi.mock("./pages/VisitorPhonePage", () => ({ VisitorPhonePage: () => 游客号码
}));
import { App } from "./App";
afterEach(() => {
window.history.pushState({}, "", "/");
vi.clearAllMocks();
});
describe("App routes", () => {
it("opens /admin/display without mounting administrator authentication", () => {
window.history.pushState({}, "", "/admin/display");
render();
expect(screen.getByText("公开大屏页面")).toBeVisible();
expect(authProvider).not.toHaveBeenCalled();
});
});