Buchungskalender: Abgleich – gleichzeitige Zweitzahlung wird erstattet

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Opus 5.5 committed 2026-10-07 14:53:36 +00:00
1 parent f01e6def59
commit 95cbd473d0
2 files changed
+19 -1

No files matched your search

+14
View File
@@ -384,6 +384,20 @@ test('Zahlung nach Frist-Ablauf der Sitzung/Storno ueber Rueckkehr-Abgleich: ebe
assert.equal(erstattungen('pi_sp2').length, 1)
})
test('Gleichzeitige Zweitzahlung (beide lesen noch gebucht): genau eine wird gebucht, die andere erstattet', async () => {
const f = await onlineGebucht('2026-11-10', '2026-11-12')
st.setPaymentIntent(ACCOUNT, 'pi_x', { amount: 20000 })
st.setPaymentIntent(ACCOUNT, 'pi_y', { amount: 20000 })
await Promise.all([zahlung.verbucheZahlung(f.ctx, f.id, 'pi_x', { now: NOW }), zahlung.verbucheZahlung(f.ctx, f.id, 'pi_y', { now: NOW })])
const a = await sp.ladeAnfrage(f.id)
assert.equal(a.status, 'bezahlt')
const gebucht = a.stripePaymentIntentId
const andere = gebucht === 'pi_x' ? 'pi_y' : 'pi_x'
assert.equal(erstattungen(gebucht).length, 0)
assert.equal(erstattungen(andere).length, 1)
assert.equal(erstattungen(andere)[0].metadata?.webklar ?? 'unterkunft', 'unterkunft')
})
test('Zweite Zahlung auf bereits bezahlte Buchung (andere Zahlung): automatisch erstattet; dieselbe Zahlung nicht', async () => {
const f = await onlineGebucht('2026-11-10', '2026-11-12')
st.setPaymentIntent(ACCOUNT, 'pi_a', { amount: 20000 })