WIP: Playwright test

This commit is contained in:
ISA
2025-08-15 14:47:29 +02:00
parent 04b9a0dc1d
commit a84e8c529f
6 changed files with 127 additions and 5 deletions

View File

@@ -6,6 +6,6 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false
NEXT_PUBLIC_EXPORT_STATIC=false NEXT_PUBLIC_EXPORT_STATIC=false
NEXT_PUBLIC_USE_CGI=false NEXT_PUBLIC_USE_CGI=false
# App-Versionsnummer # App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.6.732 NEXT_PUBLIC_APP_VERSION=1.6.733
NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter) NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter)

View File

@@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL
NEXT_PUBLIC_EXPORT_STATIC=true NEXT_PUBLIC_EXPORT_STATIC=true
NEXT_PUBLIC_USE_CGI=true NEXT_PUBLIC_USE_CGI=true
# App-Versionsnummer # App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.6.732 NEXT_PUBLIC_APP_VERSION=1.6.733
NEXT_PUBLIC_CPL_MODE=production NEXT_PUBLIC_CPL_MODE=production

View File

@@ -1,3 +1,8 @@
## [1.6.733] 2025-08-15
- style: Messwertkurven Legende und Liniern style angepasst
---
## [1.6.732] 2025-08-15 ## [1.6.732] 2025-08-15
- Das automatische Nachladen im DetailModal.tsx passiert jetzt nur noch alle 4 Sekunden und maximal 2 Mal. Damit wird dein Embedded-System geschont und es gibt keine Überlastung durch zu viele Anfragen. - Das automatische Nachladen im DetailModal.tsx passiert jetzt nur noch alle 4 Sekunden und maximal 2 Mal. Damit wird dein Embedded-System geschont und es gibt keine Überlastung durch zu viele Anfragen.

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "cpl-v4", "name": "cpl-v4",
"version": "1.6.732", "version": "1.6.733",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "cpl-v4", "name": "cpl-v4",
"version": "1.6.732", "version": "1.6.733",
"dependencies": { "dependencies": {
"@fontsource/roboto": "^5.1.0", "@fontsource/roboto": "^5.1.0",
"@headlessui/react": "^2.2.4", "@headlessui/react": "^2.2.4",

View File

@@ -1,6 +1,6 @@
{ {
"name": "cpl-v4", "name": "cpl-v4",
"version": "1.6.732", "version": "1.6.733",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",

View File

@@ -0,0 +1,117 @@
import { test, expect } from "@playwright/test";
test("test", async ({ page }) => {
await page.goto("http://localhost:3000/digitalInputs");
await expect(
page.getByRole("img", { name: "Logo", exact: true })
).toBeVisible();
await expect(page.getByRole("img", { name: "TALAS Logo" })).toBeVisible();
await expect(
page.getByRole("heading", { name: "Meldestation" })
).toBeVisible();
await expect(page.getByText("CPLV4 Ismail Rastede")).toBeVisible();
await expect(page.getByRole("link", { name: "Übersicht" })).toBeVisible();
await expect(
page.getByRole("link", { name: "Kabelüberwachung" })
).toBeVisible();
await expect(
page.getByRole("link", { name: "Meldungseingänge" })
).toBeVisible();
await expect(
page.getByRole("link", { name: "Schaltausgänge" })
).toBeVisible();
await expect(
page.getByRole("link", { name: "Messwerteingänge" })
).toBeVisible();
await expect(page.getByRole("link", { name: "Berichte" })).toBeVisible();
await expect(page.getByRole("link", { name: "System" })).toBeVisible();
await expect(page.getByRole("link", { name: "Einstellungen" })).toBeVisible();
await expect(
page
.locator("div")
.filter({ hasText: /^Littwin Systemtechnik GmbH & Co\. KG$/ })
.locator("svg")
).toBeVisible();
await expect(page.getByText("Littwin Systemtechnik GmbH &")).toBeVisible();
await expect(
page
.locator("div")
.filter({ hasText: /^Telefon: 04402 972577-0$/ })
.locator("svg")
).toBeVisible();
await expect(page.getByText("Telefon: 04402 972577-")).toBeVisible();
await expect(
page
.locator("div")
.filter({ hasText: /^kontakt@littwin-systemtechnik\.de$/ })
.locator("svg")
).toBeVisible();
await expect(page.getByText("kontakt@littwin-systemtechnik")).toBeVisible();
await expect(
page
.locator("div")
.filter({ hasText: /^Handbücher$/ })
.locator("path")
).toBeVisible();
await expect(page.getByText("Handbücher", { exact: true })).toBeVisible();
await page.getByText("Handbücher", { exact: true }).click();
await expect(
page.getByRole("heading", { name: "PDF Handbücher" })
).toBeVisible();
await expect(page.getByText("KUE705FO.PDF")).toBeVisible();
await page.getByRole("button").click();
await expect(
page.getByRole("heading", { name: "Meldungseingänge", exact: true })
).toBeVisible();
await expect(
page.getByRole("heading", { name: "Meldungseingänge 1 " }).locator("svg")
).toBeVisible();
await expect(
page.getByRole("heading", { name: "Meldungseingänge 1 " })
).toBeVisible();
await expect(
page.getByRole("cell", { name: "Eingang" }).first()
).toBeVisible();
await expect(
page.getByRole("cell", { name: "Zustand" }).first()
).toBeVisible();
await expect(
page.getByRole("cell", { name: "Bezeichnung" }).first()
).toBeVisible();
await expect(
page.getByRole("cell", { name: "Aktion" }).first()
).toBeVisible();
await expect(
page.getByRole("cell", { name: "1", exact: true }).locator("svg")
).toBeVisible();
await expect(page.getByText("1", { exact: true })).toBeVisible();
await expect(
page
.getByRole("row", { name: "1 ● DE 1", exact: true })
.getByRole("cell")
.nth(1)
).toBeVisible();
await expect(
page.getByRole("row", { name: "1 ● DE 1", exact: true }).locator("span")
).toBeVisible();
await expect(
page.getByRole("cell", { name: "DE 1", exact: true })
).toBeVisible();
await expect(
page
.getByRole("row", { name: "1 ● DE 1", exact: true })
.locator("svg")
.nth(1)
).toBeVisible();
await expect(
page.getByRole("cell", { name: "13", exact: true }).locator("svg")
).toBeVisible();
await expect(page.getByText("13", { exact: true })).toBeVisible();
await expect(
page.getByRole("row", { name: "● DE 13" }).getByRole("cell").nth(1)
).toBeVisible();
await expect(
page.getByRole("row", { name: "● DE 13" }).locator("span")
).toBeVisible();
await expect(page.getByRole("cell", { name: "DE 13" })).toBeVisible();
});