Files
CPLv4.0/playwright/tests/pages/dashboard/dashboard.test.ts

71 lines
2.9 KiB
TypeScript

import { test, expect } from "@playwright/test";
import { headerTest } from "@/playwright/tests/components/header/headerTest";
import { navTest } from "@/playwright/tests/components/navigation/navTest";
import { footerTest } from "@/playwright/tests/components/footer/footerTest";
test.use({
viewport: {
height: 900,
width: 1600,
},
});
test("Dashboard", async ({ page }) => {
await page.goto("/dashboard");
// Gemeinsame Layout-Checks
await headerTest(page);
await navTest(page);
await footerTest(page);
// Seitenspezifische Checks
await expect(page.getByRole("main").locator("svg").first()).toBeVisible();
await expect(
page.getByRole("heading", { name: "Letzten 20 Meldungen" })
).toBeVisible();
await expect(page.getByRole("cell", { name: "Prio" })).toBeVisible();
await expect(page.getByRole("cell", { name: "Zeitstempel" })).toBeVisible();
await expect(page.getByRole("cell", { name: "Quelle" })).toBeVisible();
await expect(page.getByRole("cell", { name: "Meldung" })).toBeVisible();
await expect(page.getByRole("cell", { name: "Status" })).toBeVisible();
await expect(
page.getByRole("heading", { name: "Versionsinformationen" })
).toBeVisible();
await expect(page.getByRole("main").locator("path").nth(2)).toBeVisible();
await expect(
page
.getByRole("listitem")
.filter({ hasText: "Webversion:" })
.locator("path")
).toBeVisible();
await expect(page.locator("div").filter({ hasText: /^1$/ })).toBeVisible();
await expect(page.getByText("8", { exact: true })).toBeVisible();
await expect(page.getByText("9", { exact: true })).toBeVisible();
await expect(
page.locator(
"div:nth-child(2) > .flex.gap-1 > div:nth-child(8) > .border > .bg-littwin-blue.flex-grow > div:nth-child(2)"
)
).toBeVisible();
await expect(page.getByText("17KÜ705FO")).toBeVisible();
await expect(
page.locator(
"div:nth-child(3) > .flex.gap-1 > div:nth-child(8) > .border > .bg-littwin-blue.flex-grow > div:nth-child(2)"
)
).toBeVisible();
await expect(page.getByText("25KÜ705FO")).toBeVisible();
await expect(page.getByText("32KÜ705FO")).toBeVisible();
await expect(page.getByRole("img", { name: "IP Address" })).toBeVisible();
await expect(page.getByText("IP-Adresse")).toBeVisible();
await expect(page.getByRole("main")).toContainText("10.10.0.243");
await expect(page.getByRole("main")).toContainText("255.255.255.0");
await expect(page.getByRole("main")).toContainText("10.10.0.1");
await page.getByText("Server betriebsbereit").click();
await page
.getByRole("row", { name: "2025-09-05 11:52:44" })
.getByRole("cell")
.first()
.click();
await expect(page.locator("tbody")).toContainText("2025-09-05 11:52:44");
await expect(page.locator("tbody")).toContainText("CableLine13");
await expect(page.locator("tbody")).toContainText("Isofehler gehend");
await expect(page.locator("tbody")).toContainText("0");
});