85 lines
3.3 KiB
TypeScript
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();
|
|
});
|