import { screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import AppRoutes from "../routes"; import { renderWithProviders } from "../test/testHelpers"; import { ClientLayout } from "./ClientLayout"; describe("ClientLayout", () => { it("uses the main app style header shell and centered content container", () => { const { container } = renderWithProviders(); const header = container.querySelector("header"); expect(header).toHaveClass("h-[75px]"); expect(header).toHaveClass("bg-navbar-background"); const headerInner = header?.firstElementChild; expect(headerInner).toHaveClass("w-full"); expect(headerInner).toHaveClass("max-w-7xl"); expect(headerInner).toHaveClass("mx-auto"); const main = container.querySelector("main"); expect(main).toHaveClass("w-full"); expect(main).toHaveClass("max-w-7xl"); expect(main).toHaveClass("mx-auto"); }); it("redirects unauthenticated client routes to the login page", async () => { renderWithProviders(, { route: "/tablo/tablo-1", testUser: undefined, }); expect(await screen.findByTestId("auth-card-shell")).toBeInTheDocument(); expect(await screen.findByRole("button", { name: "Connexion" })).toBeInTheDocument(); }); });