Kundenansicht neu P7: Gutschrift-Antrag in Fassung 6 mit Nachweis, Pin gegen Kundenart aus dem Body
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
da2fe83d47
commit
841bc76bbb
3 files changed
+142
No files matched your search
@@ -0,0 +1,28 @@
|
||||
import { test } from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFileSync } from 'node:fs'
|
||||
|
||||
// Review Focus 1 als Quelltext-Pin: Die Kundenart und der Beginn der Bestellung kommen nie aus dem Body der Anfrage
|
||||
const quelle = (datei) => readFileSync(new URL(`../${datei}`, import.meta.url), 'utf8')
|
||||
|
||||
test('Server-Routen lesen die Kundenart nie aus dem Body', () => {
|
||||
for (const datei of ['server/routes/abo.js', 'server/routes/takeoverCredits.js']) {
|
||||
const q = quelle(datei)
|
||||
assert.doesNotMatch(q, /\b(?:req\.)?body\??\.(kundenart|unternehmer)\b/, datei)
|
||||
assert.doesNotMatch(q, /\{[^}]*\b(kundenart|unternehmer)\b[^}]*\}\s*=\s*(?:req\.)?body/, datei)
|
||||
assert.doesNotMatch(q, /\{[^}]*\b(kundenart|unternehmer)\b[^}]*\}\s*=\s*req\.body/, datei)
|
||||
}
|
||||
})
|
||||
|
||||
test('Kundenart stammt aus kundenartWirksam, nicht aus Antwort-Daten des Clients', () => {
|
||||
assert.match(quelle('server/routes/abo.js'), /kundenartWirksam\(/)
|
||||
assert.match(quelle('server/routes/takeoverCredits.js'), /kundenartWirksam\(/)
|
||||
})
|
||||
|
||||
test('Fassung 6 liest startChoice nur im alten Weg (Fassung 5)', () => {
|
||||
const q = quelle('server/routes/abo.js')
|
||||
const checkout = q.slice(q.indexOf("router.post('/checkout'"), q.indexOf("router.post('/portal'"))
|
||||
// in Fassung 6 bestimmt allein beginnWahl den Beginn; startChoice fließt nur über den alten Zweig ein
|
||||
assert.match(checkout, /const beginnWahl = sechs \? \(kundenart === 'unternehmen' \|\| earlyStart === true \? 'sofort' : 'nach_frist'\) : startChoice/)
|
||||
assert.doesNotMatch(checkout, /startChoice:\s*startChoice/)
|
||||
})
|
||||
Reference in new issue
Block a user