Import tests: tests/e2e/panel

Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
arsam
2026-09-18 23:11:19 +03:30
parent 9da833f038
commit c6cd8125cb
+57
View File
@@ -0,0 +1,57 @@
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/);
});