import { expect, test } from "@playwright/test"; test("login and dashboard navigation", async ({ page }) => { await page.goto("/login"); await page.locator('input[name="password"]').fill("correct-password"); await page.getByRole("button", { name: "Sign in" }).click(); await expect(page.getByRole("heading", { name: "Dashboard" })).toBeVisible(); await expect(page.getByRole("heading", { name: "Resource usage" })).toBeVisible(); }); test("tool search finds terminal", async ({ page }) => { await page.goto("/tools"); await page.getByPlaceholder("Search all CoaxysPanel tools").fill("terminal"); await expect(page.getByRole("link", { name: /Terminal/ }).first()).toBeVisible(); }); test("website creation wizard validates", async ({ page }) => { await page.goto("/websites/new"); await page.getByRole("button", { name: "Continue" }).click(); await expect(page.getByText("Use at least three characters.").first()).toBeVisible(); await page.getByLabel("Name").fill("Production site"); await page.getByRole("button", { name: "Continue" }).click(); await expect(page.getByRole("heading", { name: "Domain selection" })).toBeVisible(); }); test("dns record editor renders records", async ({ page }) => { await page.goto("/domains/example.com/dns"); await expect(page.getByRole("heading", { name: "DNS Zone Editor" })).toBeVisible(); await expect(page.getByText("www.example.com.")).toBeVisible(); }); test("file manager exposes core actions", async ({ page }) => { await page.goto("/files"); await expect(page.getByRole("button", { name: "Upload" }).first()).toBeVisible(); await expect(page.getByText("index.php")).toBeVisible(); }); test("database and email creation entry points render", async ({ page }) => { await page.goto("/databases/new"); await expect(page.getByRole("heading", { name: "Database name" })).toBeVisible(); await page.goto("/email/accounts"); await expect(page.getByText("admin@example.com")).toBeVisible(); }); test("backup and security screens render", async ({ page }) => { await page.goto("/backups/new"); await expect(page.getByRole("heading", { name: "Scope" })).toBeVisible(); await page.goto("/security"); await expect(page.getByText("86/100")).toBeVisible(); }); test("theme switching menu opens", async ({ page }) => { await page.goto("/dashboard"); await page.getByLabel("Theme selector").click(); await page.getByRole("menuitem", { name: "dark" }).click(); await expect(page.locator("html")).toHaveClass(/dark/); });