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:
1 parent
db5e6ece2c
commit
17317ada05
2 files changed
+22
-5
No files matched your search
@@ -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()
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user