Kundenansicht neu P10: Korrekturen aus der Pruefung (Task 3)
Archiv v5 bei on für Fassung-5-Zustimmungen (termsDocFor archiv), /auftrag.html in der Weiche (Übersicht N40), Test mit dem echten Schalter, Hinweise zu Task 14 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3413355b14
commit
db5e6ece2c
6 files changed
+88
-5
No files matched your search
@@ -29,6 +29,7 @@ const { withdrawalDeadline } = await import('../server/services/deadlines.js')
|
||||
const { offerText } = await import('../server/services/offers.js')
|
||||
const { setMailTransportForTests } = await import('../server/services/mailer.js')
|
||||
const { mailSink } = await import('./support/mailSink.js')
|
||||
const { termsDocFor } = await import('../server/services/products.js')
|
||||
|
||||
const app = await startTestApp({ '/api/abo': aboRoutes })
|
||||
// F25: Mails landen in einer Senke statt bei SMTP, damit K01 (Anhang je Fassung) und T02 pruefbar sind (Task 12)
|
||||
@@ -547,3 +548,30 @@ test('Webhook: Nachweis voruebergehend nicht speicherbar (500) → 500, Wiederho
|
||||
await cleanupWebhook(subId, 'o3')
|
||||
}
|
||||
})
|
||||
|
||||
// P10 (Prüfung Task 3): Bei on liefert die Weiche unter /abo-bedingungen.html und /WEBklar-Abo-Vertragsunterlagen.pdf
|
||||
// Fassung 6. Wer Fassung 5 zugestimmt hat, bekommt in Verträge und Stunden deshalb das Archiv v5 (Altverträge bleiben auffindbar).
|
||||
test('GET /api/abo: bei on führen Bedingungen und PDF einer Fassung-5-Zustimmung ins Archiv v5, sonst bleiben die Adressen', async () => {
|
||||
const gemerkt = { ...config.kundenansichtNeu }
|
||||
const adressen = async (termsVersion) => {
|
||||
aw.seed('subscriptions', subscriptionDoc('sub_h', { ...hostingDoc, termsVersion }))
|
||||
const r = await get('/api/abo', { cookie: sessionCookie({ customerId: 'c1', appwriteUserId: 'u1' }) })
|
||||
return [r.subscription.termsUrl, r.subscription.termsPdfUrl]
|
||||
}
|
||||
const heute = (v) => [termsDocFor(v).url, `/${termsDocFor(v).pdfFile}`]
|
||||
const V5 = '2026-09-30-v5'
|
||||
const ARCHIV_V5 = ['/vertragsunterlagen/v5/abo-bedingungen.html', '/vertragsunterlagen/v5/WEBklar-Abo-Vertragsunterlagen.pdf']
|
||||
try {
|
||||
for (const mode of ['off', 'pilot']) {
|
||||
Object.assign(config.kundenansichtNeu, { mode, pilotEmails: ['*'] })
|
||||
assert.deepEqual(await adressen(V5), heute(V5), mode)
|
||||
}
|
||||
Object.assign(config.kundenansichtNeu, { mode: 'on', pilotEmails: [] })
|
||||
assert.deepEqual(await adressen(V5), ARCHIV_V5)
|
||||
// alle anderen Fassungen behalten ihre Adressen (v6 zeigt auf Fassung 6, v4 und v3 liegen schon im Archiv)
|
||||
for (const v of [config.abo.termsVersionNeu, '2026-09-30-v4', '2026-09-25-v3']) assert.deepEqual(await adressen(v), heute(v), v)
|
||||
} finally {
|
||||
Object.assign(config.kundenansichtNeu, gemerkt)
|
||||
aw.seed('subscriptions', hostingDoc)
|
||||
}
|
||||
})
|
||||
Reference in new issue
Block a user