Tests: Wächter der Kundenansicht sperrt auch die Routen der Auftragsbestätigung
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d9058ef1a6
commit
aad0a8b807
1 file changed
+15
@@ -41,6 +41,8 @@ const MOUNTS = [
|
||||
['/api/termine', termineRouter],
|
||||
['/api/shop', (await import('../server/routes/shop.js')).default],
|
||||
['/api/zeiten', zeitenRouter],
|
||||
['/api/auftraege', (await import('../server/routes/auftraegeKunde.js')).default],
|
||||
['/api/auftrag', (await import('../server/routes/auftrag.js')).default],
|
||||
]
|
||||
// Oeffentliche Schnittstelle (ohne Session) wie in server/index.js hinter dem Waechter; nicht in MOUNTS, weil sie keine Kunden-Route ist
|
||||
const oeffentlich = (await import('../server/routes/publicTermine.js')).default
|
||||
@@ -146,6 +148,19 @@ test('Behalten der Öffnungszeiten ist in der Kundenansicht gesperrt (Route gefu
|
||||
assert.equal(res.body.code, 'view_blocked')
|
||||
})
|
||||
|
||||
// Auftragsbestätigung bestätigen ist eine Erklärung im Namen des Kunden (Spec Abschnitt 2): Portal-Weg und Link-Weg stehen nicht auf der
|
||||
// Erlaubnisliste; der Wächter sperrt sie vor dem Router (auch der Link-Weg, wenn der Browser das Cookie einer Kundenansicht trägt).
|
||||
test('Auftragsbestätigung bestätigen ist in der Kundenansicht gesperrt (Portal-Weg und Link-Weg)', async () => {
|
||||
const routes = writeRoutes(MOUNTS)
|
||||
for (const p of ['/api/auftraege/x/bestaetigen', '/api/auftrag/x/bestaetigen']) {
|
||||
assert.ok(routes.some(({ method, path: r }) => method === 'POST' && r === p), `Route ${p} gefunden`)
|
||||
assert.ok(!allowed('POST', p), p)
|
||||
const res = await call('POST', p, { ...kv(), body: { bestaetigt: true, fruehbeginn: false } })
|
||||
assert.equal(res.status, 403, p)
|
||||
assert.equal(res.body.code, 'view_blocked', p)
|
||||
}
|
||||
})
|
||||
|
||||
test('Erlaubnisliste: genau News, Terminplaner, Webshop-Verwaltung, Öffnungszeiten, Analyse-Link, Ende, Logout und Login', () => {
|
||||
const ok = [
|
||||
['POST', '/api/news'], ['POST', '/api/news/image'], ['PATCH', '/api/news/abc'], ['DELETE', '/api/news/abc'],
|
||||
|
||||
Reference in new issue
Block a user