Shop Review A M6: Stripe-Status auf 4000 Zeichen begrenzen (30 Eintraege zu 100 Zeichen, notfalls weiter kuerzen)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-05 09:35:40 +00:00
1 parent d4b9e6a5b9
commit 21805c9a93
2 files changed
+33 -5

No files matched your search

+12
View File
@@ -126,6 +126,18 @@ test('statusAusKonto ist rein und robust gegen fehlende Felder', () => {
assert.deepEqual(eingabe.requirements.currently_due, ['a'])
})
test('statusAusKonto M6: lange Listen werden gekappt (30 Eintraege, 100 Zeichen), das Ergebnis passt als JSON in 4000 Zeichen', () => {
const lang = Array.from({ length: 80 }, (_, i) => `individual.verification.document.${'x'.repeat(200)}${i}`)
const aus = connect.statusAusKonto({ requirements: { currently_due: lang, past_due: lang, disabled_reason: 'r'.repeat(500) } })
assert.ok(aus.currently_due.length <= 30 && aus.past_due.length <= 30)
assert.ok([...aus.currently_due, ...aus.past_due].every((e) => e.length <= 100))
assert.ok(aus.disabled_reason.length <= 100)
assert.ok(JSON.stringify(aus).length <= 3500, `JSON ${JSON.stringify(aus).length} Zeichen`)
assert.ok(aus.currently_due.length > 0 && aus.past_due.length > 0, 'beide Listen behalten Eintraege')
// kurze Listen bleiben unveraendert, Nicht-Texte werden uebersprungen
assert.deepEqual(connect.statusAusKonto({ requirements: { currently_due: ['a', 5, null, 'b'] } }).currently_due, ['a', 'b'])
})
test('Checkout, Abruf, Ablauf: Stripe-Account-Kopfzeile, Idempotenz, Ablage je Konto', async () => {
const id = await connect.kontoAnlegen({ customer, project })
const other = 'acct_andere1'