From a84e8c529fedf1d31e2f761309e6a449dd24ddab Mon Sep 17 00:00:00 2001 From: ISA Date: Fri, 15 Aug 2025 14:47:29 +0200 Subject: [PATCH] WIP: Playwright test --- .env.development | 2 +- .env.production | 2 +- CHANGELOG.md | 5 ++ package-lock.json | 4 +- package.json | 2 +- playwright/tests/digitalInputsTest.ts | 117 ++++++++++++++++++++++++++ 6 files changed, 127 insertions(+), 5 deletions(-) create mode 100644 playwright/tests/digitalInputsTest.ts diff --git a/.env.development b/.env.development index 89e1f45..4b92701 100644 --- a/.env.development +++ b/.env.development @@ -6,6 +6,6 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false NEXT_PUBLIC_EXPORT_STATIC=false NEXT_PUBLIC_USE_CGI=false # 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) diff --git a/.env.production b/.env.production index 3308887..f1a74b2 100644 --- a/.env.production +++ b/.env.production @@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL NEXT_PUBLIC_EXPORT_STATIC=true NEXT_PUBLIC_USE_CGI=true # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.6.732 +NEXT_PUBLIC_APP_VERSION=1.6.733 NEXT_PUBLIC_CPL_MODE=production \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b84e7e0..d0e34d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## [1.6.733] – 2025-08-15 + +- style: Messwertkurven Legende und Liniern style angepasst + +--- ## [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. diff --git a/package-lock.json b/package-lock.json index 145bc42..b2a1a04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cpl-v4", - "version": "1.6.732", + "version": "1.6.733", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cpl-v4", - "version": "1.6.732", + "version": "1.6.733", "dependencies": { "@fontsource/roboto": "^5.1.0", "@headlessui/react": "^2.2.4", diff --git a/package.json b/package.json index a135fb8..3910aad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cpl-v4", - "version": "1.6.732", + "version": "1.6.733", "private": true, "scripts": { "dev": "next dev", diff --git a/playwright/tests/digitalInputsTest.ts b/playwright/tests/digitalInputsTest.ts new file mode 100644 index 0000000..a7631ac --- /dev/null +++ b/playwright/tests/digitalInputsTest.ts @@ -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(); +});