Öffnungszeiten: Tests und Belehrung nach dem Merge mit TP2
Zeiten nutzen die echte Widerrufsbelehrung wie der Terminplaner (der Platzhalter BELEHRUNG_PLATZHALTER ist mit TP2 F7 entfallen). Gepinnte Listen als Vereinigung beider Seiten: K15-Blöcke, T16-Blöcke, legal-Schlüssel der Projektliste, hindernis in der Team-Ansicht für alle Funktionen. Neue Tests: Abnahme (Freischalten) der Zeiten über den Haken freischaltbar und mit Ersatz-Hash, abnahme gibt für Zeiten nie ab. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1d5a565e9f
commit
019833d385
6 files changed
+71
-19
No files matched your search
@@ -272,6 +272,38 @@ test('nachFreischaltung des Registers wird je freigeschaltetem Dokument mit dem
|
||||
assert.match(logText(), /Haken kaputt/)
|
||||
})
|
||||
|
||||
// ------------------------------------------------------------------------------ Freischalten (Abnahme) durch das Team
|
||||
|
||||
// Merge mit TP2: freischaltenNachAbnahme (WOMS "Freischalten (Abnahme)") gilt fuer jede Funktion mit ticketFreischaltung. Die
|
||||
// Voraussetzung der Zeiten ist ihr Haken freischaltbar (eingetragene Zeiten), nicht Abo und Einstellung des Terminplaners.
|
||||
test('Abnahme der Zeiten: ohne eingetragene Zeiten 409 und alles bleibt setup, auch ohne laufendes Wartungs-Abo', async () => {
|
||||
const id = await einrichtung({ ticket: 'Open' })
|
||||
const projectId = feld(id, 'projectId')
|
||||
await assert.rejects(sf.freischaltenNachAbnahme({ customerId: 'c1', projectId, key: 'zeiten', by: 'Kenso', now: JETZT }), (err) => {
|
||||
assert.equal(err.status, 409)
|
||||
assert.match(err.message, /Voraussetzungen/)
|
||||
return true
|
||||
})
|
||||
assert.equal(zustand(id), 'setup')
|
||||
assert.equal(sink.sent.length, 0)
|
||||
})
|
||||
|
||||
test('Abnahme der Zeiten: mit eingetragenen Zeiten active, K16, Ersatz-Hash (nachFreischaltung) und ohne Abo-Prüfung des Terminplaners', async () => {
|
||||
const id = await einrichtung({ ticket: 'Open', zeiten: WOCHE })
|
||||
const projectId = feld(id, 'projectId')
|
||||
const vorher = await ladeZeiten(id)
|
||||
assert.equal(vorher.ersatzHash, '')
|
||||
const { doc, activated } = await sf.freischaltenNachAbnahme({ customerId: 'c1', projectId, key: 'zeiten', by: 'Kenso', now: JETZT })
|
||||
assert.equal(activated, true)
|
||||
assert.equal(doc.state, 'active')
|
||||
assert.equal(zustand(id), 'active')
|
||||
assert.equal(k16().length, 1)
|
||||
assert.equal((await ladeZeiten(id)).ersatzHash, wochenplanHash(vorher.daten))
|
||||
// schon aktiv: Erfolg ohne zweite Mail
|
||||
assert.equal((await sf.freischaltenNachAbnahme({ customerId: 'c1', projectId, key: 'zeiten', now: JETZT })).activated, false)
|
||||
assert.equal(k16().length, 1)
|
||||
})
|
||||
|
||||
// ------------------------------------------------------------------------------------------- Selbstheilung
|
||||
|
||||
test('Selbstheilung: setup ohne ticketId ⇒ der Job legt das Ticket an (und sendet die K24)', async () => {
|
||||
|
||||
Reference in new issue
Block a user