diff --git a/test/zeitenLoeschen.test.js b/test/zeitenLoeschen.test.js index 2bbc09a..05b2a1a 100644 --- a/test/zeitenLoeschen.test.js +++ b/test/zeitenLoeschen.test.js @@ -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), [])