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

+16
View File
@@ -33,6 +33,8 @@ const nach = (s) => new Date(T0.getTime() + s * 1000)
const EINSTELLUNGEN = {
...JSON.parse(JSON.stringify(STANDARD_EINSTELLUNGEN)),
kleinunternehmer: true,
lieferzeit: '2–4 Werktage',
shopname: 'Brot & Mehr',
anbieter: { name: 'Brot & Mehr GmbH', strasse: 'Hauptstraße 5', plz: '67655', ort: 'Kaiserslautern', land: 'DE', email: 'shop@brot.example', telefon: '', ustId: '' },
}
@@ -278,6 +280,20 @@ test('bereitschaft: einstellungen', async () => {
assert.equal(punkt(await K.bereitschaft(k), 'einstellungen').ok, false)
})
test('bereitschaft I-4: Steuerart nicht gewählt (null) oder Lieferzeit leer - Punkt einstellungen offen, Shop bleibt zu', async () => {
for (const luecke of [{ kleinunternehmer: null }, { lieferzeit: '' }]) {
await aufbau({ shop: { einstellungen: JSON.stringify({ ...EINSTELLUNGEN, ...luecke }) } })
const c = await K.ladeShopFuerProjekt(KUNDE, PROJEKT)
const r = await K.bereitschaft(c)
assert.equal(punkt(r, 'einstellungen').ok, false, JSON.stringify(luecke))
assert.match(punkt(r, 'einstellungen').text, /Steuerart/)
assert.equal(r.bereit, false)
assert.equal(await K.istGeoeffnet(c), false)
}
await aufbau({ shop: { einstellungen: JSON.stringify({ ...EINSTELLUNGEN, kleinunternehmer: false }) } })
assert.equal(punkt(await K.bereitschaft(await K.ladeShopFuerProjekt(KUNDE, PROJEKT)), 'einstellungen').ok, true)
})
test('bereitschaft und Oeffnung: Rechtstexte offen, geaendert, bestaetigt', async () => {
// nie bestaetigt
await aufbau({ shop: { rechtstexte: JSON.stringify({ entwurf: TEXTE, bestaetigt: null }) } })