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

85 lines
3.3 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: 800,
width: 1280,
},
});
test("Berichte/Meldungen", async ({ page }) => {
await page.goto("/meldungen");
// Gemeinsame Layout-Checks
await headerTest(page);
await navTest(page);
await footerTest(page);
await expect(page.getByRole("heading", { name: "Berichte" })).toBeVisible();
await expect(page.getByText("Von")).toBeVisible();
await expect(
page.locator("div").filter({ hasText: /^Von$/ }).getByRole("textbox")
).toBeVisible();
await expect(page.getByText("Bis")).toBeVisible();
await expect(
page.locator("div").filter({ hasText: /^Bis$/ }).getByRole("textbox")
).toBeVisible();
await expect(page.getByRole("button", { name: "Anzeigen" })).toBeVisible();
await expect(
page.getByRole("button", { name: "Alle Quellen" })
).toBeVisible();
await page
.locator("div")
.filter({ hasText: /^Von$/ })
.getByRole("textbox")
.click();
await expect(page.getByLabel("Sunday", { exact: true })).toBeVisible();
await expect(page.getByLabel("Monday", { exact: true })).toBeVisible();
await expect(page.getByLabel("Tuesday", { exact: true })).toBeVisible();
await expect(page.getByLabel("Wednesday", { exact: true })).toBeVisible();
await expect(page.getByLabel("Thursday", { exact: true })).toBeVisible();
await expect(page.getByLabel("Friday", { exact: true })).toBeVisible();
await expect(page.getByLabel("Saturday", { exact: true })).toBeVisible();
await page
.locator("div")
.filter({ hasText: /^Von$/ })
.getByRole("textbox")
.click();
await page
.locator("div")
.filter({ hasText: /^Von$/ })
.getByRole("textbox")
.click();
await page.getByRole("heading", { name: "Berichte" }).click();
await page
.locator("div")
.filter({ hasText: /^Bis$/ })
.getByRole("textbox")
.click();
await expect(page.getByLabel("Sunday", { exact: true })).toBeVisible();
await page.getByLabel("Monday", { exact: true }).click();
await page.getByLabel("Tuesday", { exact: true }).click();
await page.getByLabel("Wednesday", { exact: true }).click();
await page.getByLabel("Thursday", { exact: true }).click();
await page.getByLabel("Friday", { exact: true }).click();
await page.getByLabel("Saturday", { exact: true }).click();
await page.getByRole("heading", { name: "Berichte" }).click();
await page.getByRole("button", { name: "Alle Quellen" }).click();
await page.getByRole("button", { name: "Alle Quellen" }).click();
await page.getByRole("cell", { name: "Prio" }).click();
await page.getByRole("cell", { name: "Zeitstempel" }).click();
await page.getByRole("cell", { name: "Quelle" }).click();
await page.getByRole("cell", { name: "Meldung" }).click();
await page.getByRole("cell", { name: "Status" }).click();
await expect(
page.getByRole("row", { name: "05.09.2025, 11:52:44" }).locator("div")
).toBeVisible();
await expect(
page
.getByRole("row", { name: "05.09.2025, 11:51:14" })
.getByRole("cell")
.first()
).toBeVisible();
});