Shop Review B I-1: Eingangsmail G15 bei SEPA, G09 nimmt die Bestellung ausdruecklich an
G15 "Wir haben Ihre Bestellung erhalten" geht einmal raus, sobald Stripe die Sitzung abgeschlossen, die Zahlung aber noch nicht gemeldet hat (meldeEingang, Marker mailsEingangAt, aus dem Webhook und aus pruefeOffene). G09 sagt ausdruecklich, dass der Kaufvertrag mit der Mail geschlossen ist, trennt Bestell- und Zahlungsdatum und nennt die Telefonnummer des Anbieters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1b7aa9ebe3
commit
77fb8c8f44
11 files changed
+238
-27
No files matched your search
@@ -233,7 +233,7 @@ test('checkout.session.completed (bezahlt) ⇒ bezahlt, Bestand, Mails; Wiederho
|
||||
assert.equal(daten(b.orderId).verlauf.filter((v) => v.was === 'bezahlt').length, 1)
|
||||
})
|
||||
|
||||
test('SEPA: completed unbezahlt ändert nichts, async_payment_succeeded bucht', async () => {
|
||||
test('SEPA: completed unbezahlt lässt die Bestellung offen und schickt einmal die Eingangsmail G15, async_payment_succeeded bucht', async () => {
|
||||
await aufbau()
|
||||
const b = await bestelle()
|
||||
const unbezahlt = zahle(b, { payment_status: 'unpaid', payment_method_types: ['sepa_debit'] })
|
||||
@@ -241,7 +241,11 @@ test('SEPA: completed unbezahlt ändert nichts, async_payment_succeeded bucht',
|
||||
assert.equal(order(b.orderId).status, 'offen')
|
||||
assert.equal(produkt('a1').bestand, 5)
|
||||
await warteAufVersand()
|
||||
assert.equal(sink.sent.length, 0)
|
||||
assert.deepEqual(sink.sent.map((m) => [m.to[0].address, m.subject.startsWith('Wir haben Ihre Bestellung')]), [['max@example.com', true]], 'nur die Eingangsmail an den Käufer')
|
||||
assert.ok(daten(b.orderId).mailsEingangAt, 'Marker gesetzt')
|
||||
assert.equal((await sende(ereignis('checkout.session.completed', unbezahlt))).status, 200)
|
||||
await warteAufVersand()
|
||||
assert.equal(sink.sent.length, 1, 'Wiederholung des Ereignisses: keine zweite Eingangsmail')
|
||||
const bezahlt = { ...unbezahlt, payment_status: 'paid' }
|
||||
assert.equal((await sende(ereignis('checkout.session.async_payment_succeeded', bezahlt))).status, 200)
|
||||
assert.equal(order(b.orderId).status, 'bezahlt')
|
||||
|
||||
Reference in new issue
Block a user