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
@@ -146,6 +146,19 @@ test('kaeuferWerte: Links fallen ohne Impressum-/Datenschutz-Adresse auf den Sho
|
||||
assert.equal(w.datum, '05.10.2026', 'ohne Bestellung gilt das übergebene Datum')
|
||||
})
|
||||
|
||||
test('kaeuferWerte I-1: Bestelldatum ist der Tag der Bestellung, Zahlungsdatum der des Zahlungseingangs (SEPA Tage später)', () => {
|
||||
const w = kaeuferWerte(ctxMit(), bestellung({ erstelltAt: '2026-10-05T10:00:00.000Z', bezahltAt: '2026-10-08T08:30:00.000Z' }), JETZT)
|
||||
assert.equal(w.datum, '05.10.2026')
|
||||
assert.equal(w.zahlungsdatum, '08.10.2026')
|
||||
const offen = kaeuferWerte(ctxMit(), bestellung({ bezahltAt: undefined }), JETZT)
|
||||
assert.equal(offen.zahlungsdatum, '05.10.2026', 'ohne Zahlung gilt das Bestelldatum')
|
||||
})
|
||||
|
||||
test('kaeuferWerte M-5: Telefonnummer des Anbieters steht in der Anbieterzeile, wenn vorhanden', () => {
|
||||
const mit = kaeuferWerte(ctxMit(einstellungen({ anbieter: { ...einstellungen().anbieter, telefon: '0 63 02 / 12 34' } })), bestellung(), JETZT)
|
||||
assert.equal(mit.anbieter_zeile, 'Erika Muster, Hauptstr. 1, 67722 Winnweiler, info@toepferei.example, Tel. 0 63 02 / 12 34')
|
||||
})
|
||||
|
||||
// ---------------------------------------------------------------- Käufermails
|
||||
|
||||
test('G09: wird mit Shopname als Absender und Antwort an den Händler eingereiht, kein BCC, Rechtstexte stehen in der Mail', async () => {
|
||||
@@ -179,6 +192,23 @@ test('G09: wird mit Shopname als Absender und Antwort an den Händler eingereiht
|
||||
assert.deepEqual(warnLog(), [], 'keine Platzhalter-Warnung der Vorlage')
|
||||
})
|
||||
|
||||
test('G15: Eingang der Bestellung geht an die übergebene Adresse (noch keine Käuferadresse an der Bestellung), ohne Rechtstexte und ohne Vertragsschluss', async () => {
|
||||
const offen = bestellung({ kaeuferEmail: undefined, bezahltAt: undefined, status: 'offen' })
|
||||
const erg = await anKaeufer('G15', ctxMit(), offen, { an: 'sepa@example.com' }, JETZT)
|
||||
assert.equal(erg.ok, true)
|
||||
await warteAufVersand()
|
||||
const [doc] = eintraege()
|
||||
assert.equal(doc.art, 'G15')
|
||||
assert.equal(doc.bookingId, 'o_bestellung01')
|
||||
assert.equal(sink.sent.length, 1)
|
||||
const mail = sink.sent[0]
|
||||
assert.equal(mail.to[0].address, 'sepa@example.com')
|
||||
assert.equal(mail.subject, 'Wir haben Ihre Bestellung 26-K7QM2X erhalten')
|
||||
assert.match(mail.text, /noch in Bearbeitung/)
|
||||
assert.match(mail.text, /2 × Tasse \(blau\) – 24,00/)
|
||||
assert.doesNotMatch(mail.text, /Kaufvertrag ist damit geschlossen|AGB Zeile 1|Belehrung Zeile 1/)
|
||||
})
|
||||
|
||||
test('G09 Abholung: Abholort statt Lieferadresse', async () => {
|
||||
const erg = await anKaeufer('G09', ctxMit(), bestellung({}, { lieferart: 'abholung', lieferadresse: null, land: null, positionen: [{ name: 'Tasse', menge: 1, summeCent: 1200, widerruf: 'gesetzlich' }] }), {}, JETZT)
|
||||
assert.equal(erg.ok, true)
|
||||
|
||||
Reference in new issue
Block a user