Buchungskalender: Freigeben zeigt bei 409 die richtige Meldung
Bisher stand bei jedem 409 „Der Zeitraum ist inzwischen belegt.“, auch wenn der Rechnungsauftrag fehlte (zustimmung_fehlt) oder sich der Stand geändert hatte (status_ungueltig). Jetzt nur bei zeitraum_belegt; sonst der Text aus buchungen-fehler.js. Aufgefallen beim ersten Test mit Donau Home. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a45f436124
commit
d33a483fd8
2 files changed
+25
-1
No files matched your search
@@ -165,7 +165,8 @@ export async function render(panel, ctx) {
|
|||||||
zeigeLink(antwort?.buchungsLink, a)
|
zeigeLink(antwort?.buchungsLink, a)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
knopf.disabled = false
|
knopf.disabled = false
|
||||||
if (err.status === 409) zeigeFehler(form, { message: BELEGT, fehler: { _: BELEGT } })
|
// 409 heisst nicht immer belegt (auch zustimmung_fehlt, status_ungueltig): nur der Code zeitraum_belegt bekommt den Belegt-Text
|
||||||
|
if (err.status === 409 && err.fehler === 'zeitraum_belegt') zeigeFehler(form, { message: BELEGT, fehler: { _: BELEGT } })
|
||||||
else zeigeFehler(form, fehlerFuerFormular(err))
|
else zeigeFehler(form, fehlerFuerFormular(err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,6 +120,29 @@ test('Freigeben: 409 zeigt „Der Zeitraum ist inzwischen belegt.“', mit(serve
|
|||||||
assert.equal(aktion(fx, panel, 'freigeben').disabled, false)
|
assert.equal(aktion(fx, panel, 'freigeben').disabled, false)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
test('Freigeben: 409 ohne Rechnungsauftrag zeigt die Zustimmungs-Meldung, nicht „belegt“', mit(server({
|
||||||
|
'POST /api/unterkunft/anfragen/a1/freigeben': () => ({ status: 409, body: { fehler: 'zustimmung_fehlt' } }),
|
||||||
|
}), async (fx) => {
|
||||||
|
const { panel } = await zeige(fx)
|
||||||
|
await oeffne(fx, panel)
|
||||||
|
await fx.klick(aktion(fx, panel, 'freigeben'))
|
||||||
|
await fx.ruhe()
|
||||||
|
assert.match(fx.text(panel), /Bitte erteile zuerst in den Einstellungen die Zustimmung zur Rechnungsstellung in deinem Namen\./)
|
||||||
|
assert.doesNotMatch(fx.text(panel), /belegt/)
|
||||||
|
assert.equal(aktion(fx, panel, 'freigeben').disabled, false)
|
||||||
|
}))
|
||||||
|
|
||||||
|
test('Freigeben: 409 status_ungueltig zeigt den Stand-Hinweis, nicht „belegt“', mit(server({
|
||||||
|
'POST /api/unterkunft/anfragen/a1/freigeben': () => ({ status: 409, body: { fehler: 'status_ungueltig' } }),
|
||||||
|
}), async (fx) => {
|
||||||
|
const { panel } = await zeige(fx)
|
||||||
|
await oeffne(fx, panel)
|
||||||
|
await fx.klick(aktion(fx, panel, 'freigeben'))
|
||||||
|
await fx.ruhe()
|
||||||
|
assert.match(fx.text(panel), /Lade die Seite neu und prüfe den Status\./)
|
||||||
|
assert.doesNotMatch(fx.text(panel), /belegt/)
|
||||||
|
}))
|
||||||
|
|
||||||
test('Ablehnen sendet den Text', mit(server({ 'POST /api/unterkunft/anfragen/a1/ablehnen': () => ({ body: {} }) }), async (fx) => {
|
test('Ablehnen sendet den Text', mit(server({ 'POST /api/unterkunft/anfragen/a1/ablehnen': () => ({ body: {} }) }), async (fx) => {
|
||||||
const { panel } = await zeige(fx)
|
const { panel } = await zeige(fx)
|
||||||
await oeffne(fx, panel)
|
await oeffne(fx, panel)
|
||||||
|
|||||||
Reference in new issue
Block a user