145 lines
4.9 KiB
TypeScript
145 lines
4.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: 800,
|
|
width: 1280,
|
|
},
|
|
});
|
|
|
|
test("digitalOutputs", async ({ page }) => {
|
|
await page.goto("/dashboard");
|
|
// Gemeinsame Layout-Checks
|
|
await headerTest(page);
|
|
await navTest(page);
|
|
await footerTest(page);
|
|
await page.getByRole("link", { name: "Schaltausgänge" }).click();
|
|
await expect(page.locator("h1")).toBeVisible();
|
|
await expect(
|
|
page.locator("h2").filter({ hasText: "Schaltausgänge" }).locator("svg")
|
|
).toBeVisible();
|
|
await expect(
|
|
page.locator("h2").filter({ hasText: "Schaltausgänge" })
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("cell", { name: "Ausgang", exact: true })
|
|
).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Bezeichnung" })).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Schalter" })).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Aktion" })).toBeVisible();
|
|
await expect(
|
|
page.getByRole("cell", { name: "1", exact: true }).locator("svg")
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("cell", { name: "1", exact: true })
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("cell", { name: "2", exact: true })
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("cell", { name: "3", exact: true })
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("cell", { name: "4", exact: true })
|
|
).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Ausgang1" })).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Ausgang2" })).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Ausgang3" })).toBeVisible();
|
|
await expect(page.getByRole("cell", { name: "Ausgang4" })).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang1" }).getByRole("cell").nth(2)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang2" }).getByRole("cell").nth(2)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang3" }).getByRole("cell").nth(2)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang4" }).getByRole("cell").nth(2)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang1" }).getByRole("cell").nth(3)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang2" }).getByRole("cell").nth(3)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang3" }).getByRole("cell").nth(3)
|
|
).toBeVisible();
|
|
await expect(
|
|
page.getByRole("row", { name: "Ausgang4" }).getByRole("cell").nth(3)
|
|
).toBeVisible();
|
|
await page
|
|
.getByRole("row", { name: "Ausgang1" })
|
|
.locator("svg")
|
|
.nth(1)
|
|
.click();
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- heading "Einstellungen Schaltausgang 1" [level=2]
|
|
- button "Modal schließen"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- text: "Bezeichnung:"
|
|
- textbox "z. B. Licht Relais 1"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(
|
|
`- button "Speichern"`
|
|
);
|
|
await page.getByRole("button", { name: "Modal schließen" }).click();
|
|
await page
|
|
.getByRole("row", { name: "Ausgang2" })
|
|
.locator("svg")
|
|
.nth(1)
|
|
.click();
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- heading "Einstellungen Schaltausgang 2" [level=2]
|
|
- button "Modal schließen"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- text: "Bezeichnung:"
|
|
- textbox "z. B. Licht Relais 1"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(
|
|
`- button "Speichern"`
|
|
);
|
|
await page.getByRole("button", { name: "Modal schließen" }).click();
|
|
await page
|
|
.getByRole("row", { name: "Ausgang3" })
|
|
.locator("svg")
|
|
.nth(1)
|
|
.click();
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- heading "Einstellungen Schaltausgang 3" [level=2]
|
|
- button "Modal schließen"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- text: "Bezeichnung:"
|
|
- textbox "z. B. Licht Relais 1"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(
|
|
`- button "Speichern"`
|
|
);
|
|
await page.getByRole("button", { name: "Modal schließen" }).click();
|
|
await page
|
|
.getByRole("row", { name: "Ausgang4" })
|
|
.locator("svg")
|
|
.nth(1)
|
|
.click();
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- heading "Einstellungen Schaltausgang 4" [level=2]
|
|
- button "Modal schließen"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(`
|
|
- text: "Bezeichnung:"
|
|
- textbox "z. B. Licht Relais 1"
|
|
`);
|
|
await expect(page.getByRole("main")).toMatchAriaSnapshot(
|
|
`- button "Speichern"`
|
|
);
|
|
await page.getByRole("button", { name: "Modal schließen" }).click();
|
|
});
|