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)