From 196921fdf09ec4b41f3481b78a9b546d33092214 Mon Sep 17 00:00:00 2001 From: Kenso Grimm Date: Wed, 7 Oct 2026 15:09:57 +0000 Subject: [PATCH] =?UTF-8?q?Buchungskalender:=20UI-Durchlauf=20=E2=80=93=20?= =?UTF-8?q?Feldfehler=20der=20Buchungsseite=20verschwinden=20beim=20Ausf?= =?UTF-8?q?=C3=BCllen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- public/unterkunft-buchung.js | 7 +++++++ test/unterkunftSeite.test.js | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/public/unterkunft-buchung.js b/public/unterkunft-buchung.js index a0e963e..282ffc8 100644 --- a/public/unterkunft-buchung.js +++ b/public/unterkunft-buchung.js @@ -221,6 +221,13 @@ fehlerAnzeigen({}, TXT.senden) }) }) + // Fehler verschwinden, sobald der Gast das Feld aendert; die allgemeine Meldung, wenn kein Feldfehler mehr steht + Object.keys(alle).forEach(function (k) { + felder[k].addEventListener('input', function () { + alle[k].fehler.hidden = true; alle[k].fehler.textContent = '' + if (!Object.keys(alle).some(function (n) { return !alle[n].fehler.hidden })) { meldung.textContent = ''; meldung.hidden = true } + }) + }) return h('section', { class: 'uk-karte' }, [h('h1', { text: 'Ihre Buchung bestätigen' }), p('Hallo ' + (g.name || '') + ', Ihre Anfrage wurde freigegeben. Bitte prüfen Sie die Angaben und buchen Sie verbindlich.'), form]) } diff --git a/test/unterkunftSeite.test.js b/test/unterkunftSeite.test.js index bafcddd..76b0c80 100644 --- a/test/unterkunftSeite.test.js +++ b/test/unterkunftSeite.test.js @@ -272,3 +272,20 @@ test('Uebersicht: Menge × Einzelpreis, gewaehlte Zahlart, Titel', async () => { assert.equal(fx.document.title, 'Buchung – Ferienwohnung') }) }) + +test('Fehler der Rechnungsadresse verschwinden, sobald der Gast die Felder ausfuellt (auch die allgemeine Meldung)', async () => { + await mitFx([{ status: 200, body: DATEN }], undefined, async (fx, el) => { + await fx.klick(fx.finde(el, 'button[type="submit"]')) + assert.match(fx.text(fx.finde(el, '[data-fehler="strasse"]')), /Straße/) + const meldung = fx.finde(el, '.uk-fehler') + assert.match(meldung.textContent, /Bitte prüfen Sie Ihre Angaben\./) + await fx.setze(fx.finde(el, '[name="strasse"]'), 'Hauptstr. 5') + assert.equal(fx.text(fx.finde(el, '[data-fehler="strasse"]')), '') + assert.match(fx.text(fx.finde(el, '[data-fehler="plz"]')), /PLZ/, 'andere Fehler bleiben, bis auch sie behoben sind') + assert.match(meldung.textContent, /Bitte prüfen/) + await fx.setze(fx.finde(el, '[name="plz"]'), '12345') + await fx.setze(fx.finde(el, '[name="ort"]'), 'Berlin') + assert.equal(meldung.textContent, '') + assert.ok(meldung.hidden) + }) +})