Funktionen: Vertragsunterlagen als K15-Anhang, Belehrung vor dem Bestellknopf

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-05 03:20:56 +00:00
1 parent 03bdeb4461
commit 2c059cb3d6
11 files changed
+574 -39

No files matched your search

+27
View File
@@ -105,6 +105,33 @@ test('liste_zustaende', async () => {
assert.equal(body.consentText, body.features.news.consent.items[0].text)
})
// Vertragsunterlagen in der Liste (Task F8): Fassung, absolute versionierte Links und die Widerrufsbelehrung des Terminplaners
test('liste_legal: legal.termine mit Fassung, https-Links mit Fassung und der Belehrung der Funktionen; News null', async () => {
const { widerrufsbelehrungFunktion } = await import('../server/services/termine/rechtstexte.js')
const { legalPaths } = await import('../server/services/legalDocs.js')
const V = config.termine.avvVersion
const body = await get('/api/funktionen', { cookie })
assert.deepEqual(Object.keys(body.legal).sort(), ['news', 'termine'])
assert.equal(body.legal.news, null)
const termine = body.legal.termine
assert.deepEqual(Object.keys(termine).sort(), ['belehrung', 'links', 'version'])
assert.equal(termine.version, V)
assert.deepEqual(Object.keys(termine.links), ['lb', 'avv', 'widerruf'])
const adressen = legalPaths('termine', V)
for (const [doc, link] of Object.entries(termine.links)) {
assert.match(link, /^https:\/\//, `${doc}: https`)
assert.ok(link.endsWith(`-${V}.html`), `${doc}: versioniert`)
assert.equal(link, `${config.publicBaseUrl}${adressen[doc]}`)
}
assert.equal(termine.belehrung, widerrufsbelehrungFunktion())
assert.match(termine.belehrung, /Muster-Widerrufsformular/)
// dieselben Werte wie die Register-Ansicht der Bestellseite: Fassung der Widerrufsbelehrung und Adresse
assert.deepEqual(body.features.termine.widerruf, { version: V, url: adressen.widerruf })
assert.deepEqual(body.features.termine.avv, { version: V, url: adressen.avv })
assert.deepEqual(body.features.termine.leistungsbeschreibung, { version: V, url: adressen.lb })
assert.deepEqual(body.features.news.widerruf, null)
})
test('liste_register_ohne_freigabe: features.termine steht auch bei Schalter off und Pilot ohne Teilnahme', async () => {
const vorher = { mode: config.termine.mode, pilotEmails: config.termine.pilotEmails }
try {