Files
Webklar-Kundenbereich/test/knLoeschVermerk.test.js
T
ClaudeandClaude Sonnet 5.5 6ff63a7a11 Kundenansicht neu E-Fix M10: hatLoeschVermerk prüft den strengen Vermerk der Löschjobs
hatLoeschVermerk erkannte gelöschte Daten an /gelöscht am/ in adminNote. Der Vermerk der Jobs ist strenger (Shopdaten bzw. Buchungsdaten
gelöscht am JJJJ-MM-TT), freier Text des Teams ("Domain gelöscht am Kundenwunsch") traf das lockere Muster: das Abo kam zurück, der Abgleich hielt
die Daten für gelöscht und setzte das Dokument auf off statt die Funktion wieder einzuschalten. Jetzt je Funktion das Muster des Jobs mit Datum.
Test in knLoeschVermerk.test.js.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 21:49:18 +00:00

29 lines
2.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { test, after } from 'node:test'
import assert from 'node:assert/strict'
import { startAppwriteMock } from './support/appwriteMock.js'
import { startFakeStripe } from './support/fakeStripe.js'
import { useTestEnv } from './support/testEnv.js'
// E-Fix M10: hatLoeschVermerk erkennt gelöschte Daten nur am strengen Vermerk der Löschjobs (Shopdaten|Buchungsdaten gelöscht am JJJJ-MM-TT),
// nicht an freiem Text des Teams in adminNote.
const aw = await startAppwriteMock({ schema: {} })
const st = await startFakeStripe()
useTestEnv({ appwriteUrl: aw.url, stripeUrl: st.url })
after(() => Promise.all([aw.close(), st.close()]))
const { hatLoeschVermerk } = await import('../server/services/aboFunktionenAbgleich.js')
test('M10: hatLoeschVermerk braucht den Vermerk des jeweiligen Löschjobs mit Datum; freier Text des Teams zählt nicht', () => {
assert.equal(hatLoeschVermerk({ featureKey: 'shop', adminNote: 'Shopdaten gelöscht am 2026-10-04' }), true)
assert.equal(hatLoeschVermerk({ featureKey: 'unterkunft', adminNote: 'Buchungsdaten gelöscht am 2026-10-04' }), true)
assert.equal(hatLoeschVermerk({ featureKey: 'unterkunft', adminNote: '2026-10-05T09:00:00.000Z Kenso: disable | Buchungsdaten gelöscht am 2026-10-04' }), true, 'der Vermerk steht auch hinter Teamnotizen')
// freier Text: kein Löschvermerk, die Funktion kommt mit dem Abo zurück
for (const note of ['Domain gelöscht am Kundenwunsch', 'Daten gelöscht am 2026-10-04', 'gelöscht am', '2026-10-05T09:00:00.000Z Kenso: disable – Konto gelöscht am Montag']) {
for (const featureKey of ['shop', 'unterkunft']) assert.equal(hatLoeschVermerk({ featureKey, adminNote: note }), false, `${featureKey}: ${note}`)
}
// je Funktion getrennt: der Shop-Vermerk gilt nicht für den Buchungskalender und umgekehrt; andere Funktionen haben keinen
assert.equal(hatLoeschVermerk({ featureKey: 'unterkunft', adminNote: 'Shopdaten gelöscht am 2026-10-04' }), false)
assert.equal(hatLoeschVermerk({ featureKey: 'shop', adminNote: 'Buchungsdaten gelöscht am 2026-10-04' }), false)
for (const featureKey of ['news', 'termine', 'zeiten']) assert.equal(hatLoeschVermerk({ featureKey, adminNote: 'Shopdaten gelöscht am 2026-10-04' }), false)
assert.equal(hatLoeschVermerk({ featureKey: 'shop' }), false)
})