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)
|
||||
} catch (err) {
|
||||
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))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +120,29 @@ test('Freigeben: 409 zeigt „Der Zeitraum ist inzwischen belegt.“', mit(serve
|
||||
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) => {
|
||||
const { panel } = await zeige(fx)
|
||||
await oeffne(fx, panel)
|
||||
|
||||
Reference in new issue
Block a user