Kundenansicht neu P10: Korrekturen aus der Pruefung (Task 4)

Zeile /auftrag.html in neu und alt (Übersicht N40), Test mit der echten Weiche bleibt auch nach dem Festschreiben (Task 14) grün

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-29 12:07:57 +00:00
1 parent db5e6ece2c
commit 17317ada05
2 files changed
+22 -5

No files matched your search

+2
View File
@@ -27,6 +27,7 @@ export const PRUEFUNGEN = Object.freeze({
html('/login.html', ['content="#ffffff"', '/neu/tokens.css'], ['#9d3dfe', '/login.css']),
html('/kuendigen.html', NEU_FORMULAR, ['/legal-form.css']),
html('/widerrufen.html', NEU_FORMULAR, ['/legal-form.css']),
html('/auftrag.html', ['/neu/oeffentlich/oeffentlich.css'], ['/auftrag.css']), // Uebersicht N40
html('/offline.html', ['content="#ffffff"'], ['#9d3dfe', '<link']),
manifest([
'id=/dashboard.html',
@@ -46,6 +47,7 @@ export const PRUEFUNGEN = Object.freeze({
html('/login.html', ['/login.css', 'content="#09090b"']),
html('/kuendigen.html', ['/legal-form.css']),
html('/widerrufen.html', ['/legal-form.css']),
html('/auftrag.html', ['/auftrag.css']),
html('/offline.html', ['#9d3dfe']),
manifest(['background_color=#000000']),
html('/abo-bedingungen.html', ['Version 5 · Stand']),
+20 -5
View File
@@ -12,7 +12,8 @@ const aw = await startAppwriteMock({ schema: { customerViewLog: schemaKeys('cust
const st = await startFakeStripe()
useTestEnv({ appwriteUrl: aw.url, stripeUrl: st.url })
const { startTestApp } = await import('./support/testApp.js')
const { umschaltSeitenRouter } = await import('../server/routes/umschaltSeiten.js')
const { umschaltSeitenRouter, UMSCHALT_SEITEN } = await import('../server/routes/umschaltSeiten.js')
const { config } = await import('../server/config.js')
const { PRUEFUNGEN, parseArgs, nachpruefen } = await import('../scripts/umschalten-nachpruefung.mjs')
after(() => Promise.all([aw.close(), st.close()]))
@@ -40,6 +41,15 @@ test('neu und alt: alle Zeilen grün, eine Zeile je Prüfung', async () => {
}
})
test('Übersicht N40: /auftrag.html hat in neu und alt eine Zeile (neu: oeffentlich.css ja, auftrag.css nein)', async () => {
const zeile = (e) => PRUEFUNGEN[e].find((p) => p.pfad === '/auftrag.html')
assert.deepEqual([zeile('neu').enthaelt, zeile('neu').enthaeltNicht, zeile('alt').enthaelt], [['/neu/oeffentlich/oeffentlich.css'], ['/auftrag.css'], ['/auftrag.css']])
// die alte Auftragsseite, wo die neue erwartet wird: genau diese Zeile ist rot
const r = await nachpruefen('https://stub.invalid', 'neu', { fetchFn: stub('neu', (p) => (p === '/auftrag.html' ? { status: 200, type: 'text/html', body: '/neu/oeffentlich/oeffentlich.css /auftrag.css' } : null)) })
assert.deepEqual(r.zeilen.filter((z) => !z.ok).map((z) => z.pfad), ['/auftrag.html'])
assert.match(r.zeilen.find((z) => z.pfad === '/auftrag.html').grund, /verboten: \/auftrag\.css/)
})
test('neu gegen alte Seiten ist rot und nennt die Seiten', async () => {
const r = await nachpruefen('https://stub.invalid', 'neu', { fetchFn: async (u) => stub('alt')(u).catch(() => new Response('', { status: 404 })) })
assert.equal(r.ok, false)
@@ -81,24 +91,29 @@ test('gegen die echten Dateien der Weiche: alt bei off, neu bei on (ohne die Fas
})
test('mit der echten Fassung 6 der Weiche: alle Zeilen, alt bei pilot, neu bei on', async () => {
// P10 Task 14: Mit dem Festschreiben (termsVersion = termsVersionNeu) steht Fassung 6 unter /abo-bedingungen.html, auch bei
// pilot; die Zeile "Version 5 · Stand" von alt gibt es dann nicht mehr, und die Weiche hat keine Fassung-6-Zeilen mehr.
const fassung5Gilt = config.abo.termsVersion !== config.abo.termsVersionNeu
const ohneAlt = fassung5Gilt ? [] : ['/abo-bedingungen.html']
let modus = 'pilot'
const router = express.Router()
router.use(umschaltSeitenRouter({ publicDir, modus: () => modus }))
router.use(express.static(publicDir))
const app = await startTestApp({ '/': router })
try {
const alt = await nachpruefen(app.url, 'alt')
const alt = await nachpruefen(app.url, 'alt', { ohne: ohneAlt })
assert.deepEqual(alt.zeilen.filter((z) => !z.ok), [])
assert.equal(alt.zeilen.length, PRUEFUNGEN.alt.length)
assert.equal(alt.zeilen.length, PRUEFUNGEN.alt.length - ohneAlt.length)
modus = 'on'
const neu = await nachpruefen(app.url, 'neu')
assert.deepEqual(neu.zeilen.filter((z) => !z.ok), [])
assert.equal(neu.zeilen.length, PRUEFUNGEN.neu.length)
// und neu gegen den Stand von pilot ist rot: die Prüfung unterscheidet wirklich
// und neu gegen den Stand von pilot ist rot: die Prüfung unterscheidet wirklich (jede Seite der Weiche fällt auf)
modus = 'pilot'
const falsch = await nachpruefen(app.url, 'neu')
assert.equal(falsch.ok, false)
assert.ok(falsch.zeilen.filter((z) => !z.ok).length >= PRUEFUNGEN.neu.length - 1)
const rot = falsch.zeilen.filter((z) => !z.ok).map((z) => z.pfad)
for (const pfad of Object.keys(UMSCHALT_SEITEN)) assert.ok(rot.includes(pfad), pfad)
} finally {
await app.close()
}