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(); });