Öffnungszeiten: Einschalten im Wartungs-Abo
POST /api/funktionen/zeiten/einschalten (Gratisweg, Spec 3.2): Abo frisch prüfen, Zustimmung (consentFrei) und Nachweis ohne Stripe-Sitzung, Zustand setup mit unlockedBy abo, dann Neubau, Einbau-Ticket und K24; ein zweiter Klick holt Fehlendes nach (holeZeitenNach, eigene Sperre). GET /api/funktionen liefert das Angebot (zeiten), features.zeiten mit unlockedBy, aboEndeAt, einbau, loeschungAm sowie zeitenStatus und zeitenLeer je Projekt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8d670ca5dc
commit
66793d06d5
9 files changed
+1124
-58
No files matched your search
@@ -85,10 +85,21 @@ test('speichert den Zeitpunkt aus einem Date-Objekt als ISO-Text', async () => {
|
||||
assert.equal(doc.acceptedAt, '2026-10-03T12:34:56.789Z')
|
||||
})
|
||||
|
||||
test('append-only: das Modul exportiert genau die sieben Lese- und Anfügefunktionen', () => {
|
||||
// Dazu seit Aufgabe 16 der Nachweis aus einer Anfrage (speichereNachweisAusAnfrage, Checkout und Gratisweg) und die handelnde Person (actingPerson)
|
||||
test('append-only: das Modul exportiert genau die Lese- und Anfügefunktionen', () => {
|
||||
assert.deepEqual(
|
||||
Object.keys(consents).sort(),
|
||||
['leseZustimmung', 'letzteZustimmung', 'nachweisTexte', 'speichereZustimmung', 'texteHash', 'zustimmungFuerSitzung', 'zustimmungsfassungen']
|
||||
[
|
||||
'actingPerson',
|
||||
'leseZustimmung',
|
||||
'letzteZustimmung',
|
||||
'nachweisTexte',
|
||||
'speichereNachweisAusAnfrage',
|
||||
'speichereZustimmung',
|
||||
'texteHash',
|
||||
'zustimmungFuerSitzung',
|
||||
'zustimmungsfassungen',
|
||||
]
|
||||
)
|
||||
assert.equal(Object.keys(consents).filter((name) => /update|delete|remove|aender|loesch/i.test(name)).length, 0)
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user