News: Aufbewahrung, Datenschutz-Abschnitt und Leistungsbeschreibung (Entwurf)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Opus 5.5 committed 2026-09-30 17:23:41 +00:00
1 parent 0e0776b406
commit 0dc57fe5e8
6 files changed
+220 -4

No files matched your search

+20
View File
@@ -462,3 +462,23 @@ test('Fassung 5: Widerrufsbelehrung und Formular wortgleich mit Fassung 4', () =
const muster = (belehrung) => between(belehrung, 'Widerrufsrecht Sie haben das Recht', 'Ende der Widerrufsbelehrung')
assert.equal(muster(section(cur, 'widerruf', 'formular')), muster(section(v4, 'widerruf', 'formular')))
})
test('legal_datenschutz_news: Abschnitt 6a und Leistungsbeschreibung (Entwurf)', () => {
const html = read('public/datenschutz.html')
const a = html.indexOf('id="news"')
assert.ok(a > html.indexOf('6. Kundenportal'), 'Abschnitt 6a steht nach Abschnitt 6')
const b = html.indexOf('<h2>7. ', a)
assert.ok(b > a)
const news = strip(html.slice(a, b))
for (const s of ['News-Beiträge und Fotos', 'Metadaten', 'GPS', 'Falkenstein', 'Art. 6 Abs. 1 lit. b DSGVO']) assert.ok(news.includes(s), s)
assert.ok(html.slice(Math.max(0, a - 120), a).includes('ENTWURF, Freigabe Nutzer ausstehend'))
assert.ok(html.includes('<h2>7. Abos und Zahlung über Stripe</h2>'), 'keine Umnummerierung')
const lb = read('public/vertragsunterlagen/funktionen-leistungsbeschreibung.html')
assert.ok(lb.includes('ENTWURF, Freigabe Nutzer ausstehend'))
const text = strip(lb)
for (const s of ['30,00 €', '§ 356 Abs. 4 BGB', '1–2 Wochen', 'keine laufenden Kosten']) assert.ok(text.includes(s), s)
const muster = read('docs/funktionen/website-datenschutz-absatz.md')
assert.ok(!/[–—]/.test(muster.slice(muster.indexOf('## Variante A'))), 'Kundentext ohne Gedankenstriche')
})