Shop Review B I-4: Steuerart und Lieferzeit ohne Vorbelegung

kleinunternehmer ist ab jetzt null (nicht gewaehlt), lieferzeit leer. istVollstaendig verlangt eine
bewusste Wahl (true oder false), der Shop kann sonst nicht geoeffnet werden. Im Reiter
Einstellungen gibt es zwei Pflicht-Radiobuttons ohne Vorauswahl; Preise, Artikel und Muster
rechnen bei null wie bei Regelbesteuerung. Tests und Fixtures angepasst.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-05 09:50:54 +00:00
1 parent 7104f97feb
commit 1f56b86791
20 files changed
+123 -20

No files matched your search

+11
View File
@@ -19,6 +19,8 @@ const NB = '\u00a0'
const basis = () => {
const e = JSON.parse(JSON.stringify(STANDARD_EINSTELLUNGEN))
e.anbieter = { name: 'Brot & Mehr GmbH', strasse: 'Hauptstraße 5', plz: '67655', ort: 'Kaiserslautern', land: 'DE', email: 'shop@brot.example', telefon: '0631 123456', ustId: 'DE123456789' }
e.lieferzeit = '2–4 Werktage'
e.kleinunternehmer = false
return e
}
const WIDERRUF_URL = 'https://brot.example/shop#widerruf'
@@ -157,6 +159,15 @@ test('AGB § 2 I-1: nur SEPA - keine Sofort-Bestätigung, nur Eingangsmail und V
assert.ok(t.includes('Bei SEPA-Lastschrift senden wir Ihnen zunächst eine E-Mail über den Eingang Ihrer Bestellung;'))
})
test('I-4: Steuerart noch nicht gewählt (null) rechnet in den Mustern wie Regelbesteuerung, Lieferzeit leer ergibt Platzhalter', () => {
const e = basis()
e.kleinunternehmer = null
e.lieferzeit = ''
assert.ok(musterAgb(e).includes('Alle Preise enthalten die gesetzliche Umsatzsteuer.'))
assert.ok(musterAgb(e).includes('Die Lieferzeit beträgt [Lieferzeit]'))
assert.ok(versandUndZahlung(e).includes('Alle Preise inkl. gesetzlicher USt.'))
})
test('versandUndZahlung: Liefergebiet, Kosten je Land, frei ab, Abholung, Zahlungsarten, Mindestbestellwert', () => {
const e = basis()
e.versand = { aktiv: true, laender: ['DE', 'AT'], kostenCent: { DE: 490, AT: 990 }, freiAbCent: 5000 }