Öffnungszeiten: Test hält fest, dass ein gescheitertes Löschen der Zeiten den Kunden bis zum nächsten Lauf hält

Seit TP2 bleiben die Abo-Dokumente stehen (held), wenn das Löschen abhängiger Daten scheitert. Der Test für die
Aufbewahrungs-Löschung prüft jetzt auch für die Zeiten: held nennt den Kunden, das Abo-Dokument bleibt, der
nächste Lauf findet den Kunden wieder und erst nach dem Löschen der Zeiten gehen die Abo-Dokumente.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-06 06:15:58 +00:00
1 parent 3984d468bf
commit d0691236d5
1 file changed
+6
+6
View File
@@ -217,9 +217,15 @@ test('Löschfristen: scheitert das Löschen der Zeiten, bleibt die Funktion akti
assert.match(formatReport(plan, erster), /Fehlgeschlagen[\s\S]*oeffnungszeiten .*kaputt/)
for (const f of kunde.features) assert.equal(featureDoc(f.$id).state, 'active')
assert.equal(zeitenDocs(kunde.customerId).length, 1, 'ein Dokument ist schon weg, eines geblieben')
// TP2: ein gescheitertes Löschen abhängiger Daten hält das Abo-Dokument, damit der nächste Lauf den Kunden wiederfindet (gilt auch für die Zeiten)
assert.deepEqual(erster.held, [kunde.customerId])
assert.ok(aw.docs('subscriptions').has(`sub_${kunde.customerId}`), 'Abo-Dokument bleibt stehen')
assert.ok((await findDueDeletions(JAN_2026)).customers.some((c) => c.customerId === kunde.customerId), 'der nächste Lauf findet den Kunden wieder')
const zweiter = await applyDeletions(plan)
assert.deepEqual(zweiter.failed, [])
assert.deepEqual(zweiter.held, [])
assert.equal(aw.docs('subscriptions').has(`sub_${kunde.customerId}`), false, 'erst nach dem Löschen der Zeiten gehen die Abo-Dokumente')
assert.equal(zweiter.deleted.zeiten, 1)
assert.deepEqual(zeitenDocs(kunde.customerId), [])
assert.deepEqual(merkerVon(kunde.features), [])