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 -3
View File
@@ -51,10 +51,10 @@ test('Standardwerte sind eingefroren, so wie im Plan und selbst gueltig', () =>
assert.deepEqual(STANDARD_EINSTELLUNGEN, {
shopname: '',
anbieter: { name: '', strasse: '', plz: '', ort: '', land: 'DE', email: '', telefon: '', ustId: '' },
kleinunternehmer: true,
kleinunternehmer: null,
versand: { aktiv: true, laender: ['DE'], kostenCent: { DE: 490 }, freiAbCent: null },
abholung: { aktiv: false, adresse: '', hinweis: '' },
lieferzeit: '2–4 Werktage',
lieferzeit: '',
zahlungsarten: ['card'],
akzent: '#111111',
mindestbestellCent: null,
@@ -174,6 +174,13 @@ test('Akzent, Mindestbestellwert, Ruecksendekosten, Kleinunternehmer', () => {
assert.ok(fehler(komplett({ ruecksendekosten: 'egal' }))?.ruecksendekosten)
assert.equal(ok(komplett({ kleinunternehmer: false })).kleinunternehmer, false)
assert.ok(fehler(komplett({ kleinunternehmer: 'nein' }))?.kleinunternehmer)
// I-4: keine Vorbelegung - null (oder fehlend) bleibt null, zaehlt aber nicht als vollstaendig
assert.equal(ok(komplett({ kleinunternehmer: null })).kleinunternehmer, null)
assert.equal(ok({ ...komplett(), kleinunternehmer: undefined }).kleinunternehmer, null)
assert.equal(istVollstaendig(komplett({ kleinunternehmer: null })), false)
assert.equal(istVollstaendig(komplett({ kleinunternehmer: true })), true)
assert.equal(istVollstaendig(komplett({ kleinunternehmer: false })), true)
assert.equal(istVollstaendig(komplett({ lieferzeit: undefined })), false, 'Lieferzeit ohne Vorbelegung')
})
test('mehrere Fehler zugleich, alle Texte in Du-Form ohne Sie', () => {
@@ -206,7 +213,8 @@ test('ladeEinstellungen: kaputt oder fehlend ergibt Standard, Teilwerte werden a
assert.equal(teil.anbieter.land, 'DE')
assert.equal(teil.versand.freiAbCent, 5000)
assert.deepEqual(teil.versand.kostenCent, { DE: 490 })
assert.equal(teil.lieferzeit, '2–4 Werktage')
assert.equal(teil.lieferzeit, '')
assert.equal(teil.kleinunternehmer, null, 'Steuerart ist nicht vorbelegt')
// gespeicherte Werte werden nicht in die Standardwerte geschrieben
teil.versand.laender.push('AT')
assert.deepEqual(STANDARD_EINSTELLUNGEN.versand.laender, ['DE'])