Analyse: geprüfte Rechtstexte Fassung 2026-10-02 veröffentlichen (HTML, PDF, Zusatzseiten-Vorlage, Archiv)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-01 18:50:36 +00:00
1 parent f401dc14d7
commit ddb91a9950
16 files changed
+827 -138

No files matched your search

+22 -14
View File
@@ -4,22 +4,31 @@ import { existsSync, readFileSync } from 'node:fs'
const root = (rel) => new URL(`../${rel}`, import.meta.url)
test('AVV Website-Analyse: öffentliche Seite existiert, trägt Fassung und Entwurfshinweis, keine internen Kommentare', () => {
const file = root('public/rechtliches/avv-website-analyse.html')
assert.ok(existsSync(file))
const html = readFileSync(file, 'utf8')
// Die Entwurfsseite nennt noch Fassung 2026-10-01; Task 6 ersetzt sie durch die geprüfte Fassung 2026-10-02
assert.ok(html.includes('Fassung 2026-10-01'))
assert.match(html, /Entwurf – vor Verwendung anwaltlich prüfen lassen/)
assert.doesNotMatch(html, /<!--/)
assert.match(html, /<h2>12\. Haftung/)
const V = '2026-10-02'
const FILES = [`public/rechtliches/avv-website-analyse-${V}.html`, `public/rechtliches/leistungsbeschreibung-website-analyse-${V}.html`]
test('Analyse-Rechtstexte: versionierte Dateien tragen die Fassung, keine Entwurfs- oder Prüfhinweise, keine Kommentare', () => {
for (const f of FILES) {
assert.ok(existsSync(root(f)), f)
const html = readFileSync(root(f), 'utf8')
assert.ok(html.includes(`Fassung ${V}`), f)
assert.doesNotMatch(html, /<!--/, f)
assert.doesNotMatch(html, /Entwurf/, f)
assert.doesNotMatch(html, /Prüfpunkt/, f)
}
assert.match(readFileSync(root(FILES[0]), 'utf8'), /<h2>12\. Haftung/)
})
test('AVV-Link im Portal zeigt auf eine vorhandene Datei unter public/', () => {
test('Entwurfsseite ohne Fassung ist nicht mehr als Datei vorhanden', () => {
assert.ok(!existsSync(root('public/rechtliches/avv-website-analyse.html')))
assert.ok(!existsSync(root('public/rechtliches/leistungsbeschreibung-website-analyse.html')))
})
test('AVV-Link im Portal zeigt auf eine ausgelieferte Adresse (Task 7 stellt auf die Fassung um)', () => {
const fn = readFileSync(root('public/funktionen.js'), 'utf8')
const url = fn.match(/const AVV_URL = '([^']+)'/)?.[1]
assert.equal(url, '/rechtliches/avv-website-analyse.html')
assert.ok(existsSync(root(`public${url}`)))
for (const f of FILES) assert.ok(existsSync(root(f)))
})
test('Portal: Dev-Modus-Hinweis an der Analyse-Kachel', () => {
@@ -29,7 +38,6 @@ test('Portal: Dev-Modus-Hinweis an der Analyse-Kachel', () => {
})
test('Texte: Akzentfarbe wird beim Einschalten gewählt (kein späteres Portal-Setting behauptet)', () => {
for (const f of ['docs/rechtliches/avv-website-analyse.md', 'docs/rechtliches/leistungsbeschreibung-website-analyse.md']) {
assert.match(readFileSync(root(f), 'utf8'), /beim Einschalten gewählt/, f)
}
// Geprüfte Fassung 2026-10-02: nur die Leistungsbeschreibung sagt es so; die AVV nennt die Akzentfarbe unter den Einstellungen
assert.match(readFileSync(root('docs/rechtliches/leistungsbeschreibung-website-analyse.md'), 'utf8'), /beim Einschalten wählt/)
})