import { expect, test } from "@playwright/test"; import { readFileSync } from "node:fs"; import { resolve } from "node:path"; function readSource(path: string) { return readFileSync(resolve(process.cwd(), path), "utf8"); } test.describe("settings visual consistency", () => { test("keeps access security surfaces readable in dark mode", () => { const source = readSource( "app/(admin)/settings/_components/access-security-dashboard.tsx" ); expect(source).toContain("dark:bg-slate-900/70"); expect(source).toContain("dark:bg-sky-950/45"); expect(source).toContain("dark:bg-orange-950/45"); expect(source).toContain("dark:bg-emerald-950/45"); expect(source).toContain("dark:bg-slate-800"); expect(source).toContain("dark:bg-zinc-900/70"); expect(source).toContain("dark:bg-red-950/30"); }); test("keeps Style Pro inside the shared settings shell", () => { const mainSource = readSource( "app/(admin)/settings/admin-settings-client.tsx" ); const styleProSource = readSource( "app/(admin)/settings/style-pro/style-pro-settings-client.tsx" ); const sharedShell = "settings-workspace w-full px-3 py-3 sm:px-4 xl:px-5"; expect(mainSource).toContain(sharedShell); expect(styleProSource).toContain(sharedShell); expect(styleProSource).toContain(" { const source = readSource( "app/(admin)/settings/admin-settings-client.tsx" ); expect(source).toContain( 'new URLSearchParams(window.location.search).get("tab")' ); expect(source).toContain("ADMIN_SETTINGS_NAV_ITEMS.some"); expect(source).toContain('url.searchParams.set("tab", value)'); }); });