Kundenansicht neu P10: bei on gilt Fassung 5 aus einem alten Tab nicht mehr (409 Seite neu laden)

Ein Tab der alten Ansicht, der vor dem Umschalten geladen wurde, schickt weiter Fassung 5. Bei on zeigt /abo-bedingungen.html aber schon Fassung 6; ohne Sperre entstuende ein Vertrag nach Fassung 5. fassungDerAnfrage liefert dann null, Bestellung, Wechsel und Speicher antworten 409. Querpruefung Teil A.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-29 12:26:21 +00:00
1 parent 34fa310f6c
commit 70f22d9541
3 files changed
+36 -4

No files matched your search

+23
View File
@@ -222,3 +222,26 @@ test('Webhook: Ereignis abschluss nennt den Grund kundenart nur bei Fassung 6 oh
assert.equal('kundenart' in (await lauf({ termsVersion: NEU(), startChoice: 'nach_frist', earlyStartConsentAt: '' })), false)
assert.equal('kundenart' in (await lauf({ termsVersion: config.abo.termsVersion, startChoice: 'sofort', earlyStartConsentAt: '' })), false)
})
test('on (P10): Fassung 5 aus einem alten Tab bekommt bei Bestellung, Wechsel und Speicher 409 „Seite neu laden“, nichts geht an Stripe', async () => {
const modus = config.kundenansichtNeu.mode
config.kundenansichtNeu.mode = 'on'
try {
const vorher = st.calls.length
const fuenf = config.abo.termsVersion
for (const [pfad, b] of [
['/api/abo/checkout', { productKey: 'wartung', acceptTerms: true, startChoice: 'sofort', termsVersion: fuenf, offerId: '' }],
['/api/abo/switch', { acceptTerms: true, earlyStart: true, termsVersion: fuenf, prorationDate: 1, amountDueCents: 100 }],
['/api/abo/storage', { units: 1, acceptTerms: true, termsVersion: fuenf }],
]) {
for (const cookie of [customerCookie('c3'), customerCookie('c2')]) {
const r = await post(pfad, b, { cookie })
assert.equal(r.status, 409, pfad)
assert.equal(r.body.error, 'Die Bedingungen wurden aktualisiert. Bitte lade die Seite neu.', pfad)
}
}
assert.equal(st.calls.length, vorher)
} finally {
config.kundenansichtNeu.mode = modus
}
})
+6
View File
@@ -46,6 +46,12 @@ test('fassungDerAnfrage: alt, neu, null; fehlende Neu-Fassung ist nie neu', () =
config.abo.termsVersionNeu = NEU
const ohneKonto = req(); delete ohneKonto.session.appwriteUserId
assert.equal(fassungDerAnfrage(ohneKonto, NEU), null)
// on (P10): die alte Fassung kommt nur noch aus einem Tab der alten Ansicht von vor dem Umschalten, sie gilt nicht mehr
config.kundenansichtNeu.mode = 'on'
assert.equal(fassungDerAnfrage(req('fremd@example.invalid'), config.abo.termsVersion), null)
assert.equal(fassungDerAnfrage(req('fremd@example.invalid'), NEU), 'neu')
config.kundenansichtNeu.mode = 'pilot'
assert.equal(fassungDerAnfrage(req('fremd@example.invalid'), config.abo.termsVersion), 'alt')
} finally {
config.abo.termsVersionNeu = NEU
config.kundenansichtNeu.mode = modus