From 9488c2d4ef5b09e48f67d371e77f64a1ccc9a813 Mon Sep 17 00:00:00 2001 From: fds2610-bot Date: Fri, 4 Sep 2026 21:37:57 +0200 Subject: [PATCH] Fix #61: Verbliebenen roten E2E-Test aus dem Typeahead-Umbau behoben MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die vier in #61 beschriebenen Ursachen waren bereits durch Fix #62 (PR #63) behoben. Ein Test blieb aber weiterhin zuverlässig rot: Der Abgleich gegen die absichtlich ungültige Bargeld-Tool-Adresse braucht durch Verbindungsaufbau und Namensauflösung über 15 Sekunden, bevor er als gescheitert gilt – mehr, als Playwrights Standard-Timeout von 5 s für toContainText() hergibt. Die betroffenen Erwartungen tragen jetzt 25 s Timeout, der Test insgesamt 90 s. Geprüft: tests/e2e/run.sh (87/87 grün, dreifach wiederholt) und ./scripts/run-tests.sh (1895 Prüfungen bestanden). Co-Authored-By: Claude Sonnet 5 --- Changes.md | 12 ++++++++++++ tests/e2e/specs/bargeld.spec.js | 11 ++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Changes.md b/Changes.md index 88be393..e3398e7 100644 --- a/Changes.md +++ b/Changes.md @@ -1,5 +1,17 @@ # Änderungen +## Letzter roter E2E-Test aus dem Typeahead-Umbau behoben (04.09.2026) + +Ein Test blieb nach der Anpassung an den Typeahead (siehe unten) noch rot: +„Bargeld-Tool › Eine vorgemerkte Kategorie wird beim Zuordnen geprüft“ – und zwar +zuverlässig, nicht nur gelegentlich. Ursache war kein Rest des Umbaus mehr, sondern ein zu +knapper Timeout: Die Schnellzuordnung im Kontoblatt prüft dabei gegen eine absichtlich +ungültige Adresse (`kasse.beispiel.invalid`), und bis der serverseitige Abruf daran +scheitert, vergehen durch `BargeldTool::ZEITGRENZE` (8 s Verbindungsaufbau) plus die +Namensauflösung der ungültigen Adresse über 15 Sekunden – mehr, als Playwrights +Standard-Timeout von 5 s für `toContainText()` hergibt. Die betroffenen Erwartungen tragen +jetzt einen eigenen Timeout von 25 s, der Test insgesamt 90 s statt 60 s. + ## E2E-Datenbestand wird vor jedem Lauf aufgeräumt (04.09.2026) Die Browser-Tests legten ihre Konten, Kategorien und Buchungen bei jedem Lauf neu an, diff --git a/tests/e2e/specs/bargeld.spec.js b/tests/e2e/specs/bargeld.spec.js index 9b7e01f..1fe6f26 100644 --- a/tests/e2e/specs/bargeld.spec.js +++ b/tests/e2e/specs/bargeld.spec.js @@ -148,7 +148,7 @@ test.describe('Bargeld-Tool', () => { test('Eine vorgemerkte Kategorie wird beim Zuordnen geprüft', async ({ page }) => { // Der Abruf läuft ins Leere; genau das soll das Ausrufezeichen zeigen – // und die Zuordnung muss trotzdem stehen. - test.setTimeout(60_000) + test.setTimeout(90_000) const empfaenger = `Bargeldabhebung ${MARKE}` @@ -172,8 +172,13 @@ test.describe('Bargeld-Tool', () => { // Die Zuordnung steht, der gescheiterte Abruf hat sie nicht aufgehalten. // Über der Meldung steht noch die des Anlegens – gemeint ist die neue. - await expect(page.locator('.meldung-erfolg').last()).toContainText('Zuordnung gespeichert') - await expect(page.locator('.meldung-erfolg').last()).toContainText('fehlgeschlagen') + // Der Abruf selbst braucht bis zu BargeldTool::ZEITGRENZE (8 s) für die + // Verbindung – dazu kommt die Namensauflösung der ungültigen Adresse, + // zusammen bis über 15 s. Der Standard-Timeout von 5 s reicht dafür nicht. + await expect(page.locator('.meldung-erfolg').last()) + .toContainText('Zuordnung gespeichert', { timeout: 25_000 }) + await expect(page.locator('.meldung-erfolg').last()) + .toContainText('fehlgeschlagen', { timeout: 25_000 }) const danach = page.locator('tr', { hasText: empfaenger }) await expect(danach).toContainText(KATEGORIE)