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
@@ -27,6 +27,7 @@ export const PRUEFUNGEN = Object.freeze({
|
|||||||
html('/login.html', ['content="#ffffff"', '/neu/tokens.css'], ['#9d3dfe', '/login.css']),
|
html('/login.html', ['content="#ffffff"', '/neu/tokens.css'], ['#9d3dfe', '/login.css']),
|
||||||
html('/kuendigen.html', NEU_FORMULAR, ['/legal-form.css']),
|
html('/kuendigen.html', NEU_FORMULAR, ['/legal-form.css']),
|
||||||
html('/widerrufen.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']),
|
html('/offline.html', ['content="#ffffff"'], ['#9d3dfe', '<link']),
|
||||||
manifest([
|
manifest([
|
||||||
'id=/dashboard.html',
|
'id=/dashboard.html',
|
||||||
@@ -46,6 +47,7 @@ export const PRUEFUNGEN = Object.freeze({
|
|||||||
html('/login.html', ['/login.css', 'content="#09090b"']),
|
html('/login.html', ['/login.css', 'content="#09090b"']),
|
||||||
html('/kuendigen.html', ['/legal-form.css']),
|
html('/kuendigen.html', ['/legal-form.css']),
|
||||||
html('/widerrufen.html', ['/legal-form.css']),
|
html('/widerrufen.html', ['/legal-form.css']),
|
||||||
|
html('/auftrag.html', ['/auftrag.css']),
|
||||||
html('/offline.html', ['#9d3dfe']),
|
html('/offline.html', ['#9d3dfe']),
|
||||||
manifest(['background_color=#000000']),
|
manifest(['background_color=#000000']),
|
||||||
html('/abo-bedingungen.html', ['Version 5 · Stand']),
|
html('/abo-bedingungen.html', ['Version 5 · Stand']),
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ const aw = await startAppwriteMock({ schema: { customerViewLog: schemaKeys('cust
|
|||||||
const st = await startFakeStripe()
|
const st = await startFakeStripe()
|
||||||
useTestEnv({ appwriteUrl: aw.url, stripeUrl: st.url })
|
useTestEnv({ appwriteUrl: aw.url, stripeUrl: st.url })
|
||||||
const { startTestApp } = await import('./support/testApp.js')
|
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')
|
const { PRUEFUNGEN, parseArgs, nachpruefen } = await import('../scripts/umschalten-nachpruefung.mjs')
|
||||||
after(() => Promise.all([aw.close(), st.close()]))
|
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 () => {
|
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 })) })
|
const r = await nachpruefen('https://stub.invalid', 'neu', { fetchFn: async (u) => stub('alt')(u).catch(() => new Response('', { status: 404 })) })
|
||||||
assert.equal(r.ok, false)
|
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 () => {
|
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'
|
let modus = 'pilot'
|
||||||
const router = express.Router()
|
const router = express.Router()
|
||||||
router.use(umschaltSeitenRouter({ publicDir, modus: () => modus }))
|
router.use(umschaltSeitenRouter({ publicDir, modus: () => modus }))
|
||||||
router.use(express.static(publicDir))
|
router.use(express.static(publicDir))
|
||||||
const app = await startTestApp({ '/': router })
|
const app = await startTestApp({ '/': router })
|
||||||
try {
|
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.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'
|
modus = 'on'
|
||||||
const neu = await nachpruefen(app.url, 'neu')
|
const neu = await nachpruefen(app.url, 'neu')
|
||||||
assert.deepEqual(neu.zeilen.filter((z) => !z.ok), [])
|
assert.deepEqual(neu.zeilen.filter((z) => !z.ok), [])
|
||||||
assert.equal(neu.zeilen.length, PRUEFUNGEN.neu.length)
|
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'
|
modus = 'pilot'
|
||||||
const falsch = await nachpruefen(app.url, 'neu')
|
const falsch = await nachpruefen(app.url, 'neu')
|
||||||
assert.equal(falsch.ok, false)
|
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 {
|
} finally {
|
||||||
await app.close()
|
await app.close()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user