From 6fb8375ad67d116d949496fd88e25b8d802a5ae5 Mon Sep 17 00:00:00 2001 From: Tobi G Date: Fri, 4 Sep 2026 12:31:28 +0200 Subject: [PATCH] Rendertest fuer den Debug-Bereich der App (215/215) Der gefuellte Zweig der drei Debug-Kacheln war bisher nur strukturell belegt: die Beispieldaten trugen keine Geraetemeldung, der Alle-Seiten-Rendertest lief also immer in den Leerzustand. beispieldaten.ts traegt jetzt eine echte Meldung des FMM003 nach (Testinstanz, 04.09.2026) - mit Geraetezeit VOR der Ankunft, denn genau der Rueckstand zwischen beiden ist der Zweck dieser Anzeige. Der neue Test prueft, dass die Kacheln zugeklappt NICHT existieren und nach dem Aufklappen Geraetename, Werte samt Einheit und den Rueckstand zeigen. --- companion-app/src/screens/screens.test.tsx | 23 ++++++++++++++++++++++ companion-app/src/tests/beispieldaten.ts | 23 +++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/companion-app/src/screens/screens.test.tsx b/companion-app/src/screens/screens.test.tsx index 64b48a3..1f26fbd 100644 --- a/companion-app/src/screens/screens.test.tsx +++ b/companion-app/src/screens/screens.test.tsx @@ -40,6 +40,29 @@ function zeige(name: SeitenName, id?: string, geheZu: (name: SeitenName, id?: st ) } +describe("Einstellungen: Debug-Mode", () => { + beforeEach(() => { + bildschirmbreiteSetzen(390) + }) + + it("zeigt Zugaenge, Dongle und den letzten Datensatz erst nach dem Aufklappen", async () => { + const { container } = zeige("einst") + await waitFor(() => expect(screen.getByText("Debug-Mode")).toBeTruthy()) + // Zugeklappt: die Kacheln sind nicht bloss unsichtbar, sie stehen nicht da. + expect(screen.queryByText("Letzter Datensatz")).toBeNull() + + fireEvent.click(screen.getByText("Öffnen")) + await waitFor(() => expect(screen.getByText("Letzter Datensatz")).toBeTruthy()) + + // Der gefuellte Zweig, nicht der Leerzustand: Geraet, Werte und der + // Rueckstand zwischen Geraetezeit und Ankunft (11 h 18 min = 40.686 s). + expect(screen.getByText("FMM003 - Testintegratoin")).toBeTruthy() + expect(screen.getByText("CAN fuel volume")).toBeTruthy() + expect(screen.getByText("7 liters")).toBeTruthy() + expect(container.textContent).toContain("Rückstand") + }) +}) + describe("Alle Seiten rendern mit Beispieldaten", () => { beforeEach(() => { bildschirmbreiteSetzen(390) diff --git a/companion-app/src/tests/beispieldaten.ts b/companion-app/src/tests/beispieldaten.ts index c9dff39..e0d9488 100644 --- a/companion-app/src/tests/beispieldaten.ts +++ b/companion-app/src/tests/beispieldaten.ts @@ -213,6 +213,27 @@ export function beispielApi(): DataMetricApi { // Fehlte sie hier ganz, endete jede Ladung im Fangzweig von neuLaden - // die Seiten rendern trotzdem, aber ein Test ueber den Ladefehler waere // wertlos. - appVersionAngabeLesen: async () => null, + /* Mit Inhalt, damit die Kacheln des Debug-Bereichs im Rendertest ihren + gefuellten Zweig durchlaufen und nicht nur den Leerzustand. Die Werte + sind einer echten Meldung des FMM003 nachgebildet (Testinstanz, + 04.09.2026): die Geraetezeit liegt VOR der Ankunft, genau darum geht es + bei dieser Anzeige. */ + appVersionAngabeLesen: async () => ({ + app: "2026.9.4.11", + buendel: null, + integration_update: null, + zugaenge: [], + letzter_datensatz: { + geraet: "FMM003 - Testintegratoin", + angekommen: "2026-09-04T10:07:08.308151+00:00", + meldezeit: "2026-09-03T22:49:02.010000+00:00", + werte: [ + { name: "CAN fuel volume", wert: "7", einheit: "liters" }, + { name: "External power voltage", wert: "12.149", einheit: "volts" }, + { name: "Altitude", wert: "414", einheit: "meters" }, + ], + gesamt: 46, + }, + }), } as unknown as DataMetricApi }