Terminplaner: Empfaenger-Kappe ueber Betriebe (G01, Freitext in G04/G06)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c35711caad
commit
4d96565240
5 files changed
+257
-18
No files matched your search
@@ -566,7 +566,10 @@ test('Buchung: 201 mit maskierter Adresse und Haltezeit; Buchung gehalten, Mail
|
||||
|
||||
test('zu viele offene Termine: dieselbe 201-Antwort, keine neue Buchung, statt der Bestaetigung geht G01 "zu viele"', async () => {
|
||||
await speichere()
|
||||
for (const zeit of ['10:00', '11:00', '12:00']) assert.equal((await buchen({ zeit })).status, 201)
|
||||
// drei bestaetigte Termine belegen die drei offenen Plaetze; die Kappe der Adresse (3 Mails je Stunde) ist damit ausgeschoepft,
|
||||
// darum kommt die vierte Anfrage erst eine Stunde spaeter bis zu "zu viele" (in der Stunde selbst bliebe sie still, siehe oben)
|
||||
for (const zeit of ['10:00', '11:00', '12:00']) await gebucht({ zeit })
|
||||
setzeUhrFuerTests(() => plus(JETZT, 61 * 60000))
|
||||
await warteAufVersand()
|
||||
const vorher = sink.sent.length
|
||||
const vierte = await buchen({ zeit: '13:00' })
|
||||
@@ -627,7 +630,7 @@ test('je siteKey 25 gehaltene Termine pro Stunde: danach 429, ohne dass eine Buc
|
||||
assert.equal(buchungen().length, 1)
|
||||
})
|
||||
|
||||
test('je Adresse und Funktion 5 Bestaetigungsmails pro Tag: die sechste Anfrage bekommt dieselbe Antwort, aber keine Mail', async () => {
|
||||
test('je Adresse 3 Bestaetigungsmails pro Stunde: die vierte bis sechste Anfrage bekommt dieselbe Antwort, aber keine Haltung und keine Mail', async () => {
|
||||
await speichere()
|
||||
const zeiten = ['10:00', '11:00', '12:00', '13:00', '14:00', '15:00']
|
||||
const antworten = []
|
||||
@@ -637,7 +640,7 @@ test('je Adresse und Funktion 5 Bestaetigungsmails pro Tag: die sechste Anfrage
|
||||
assert.ok(antworten.every((a) => JSON.stringify(a.body) === JSON.stringify(antworten[0].body)), 'alle Antworten gleich')
|
||||
assert.deepEqual(antworten[0].body, { ok: true, email: 'v***@example.com', minuten: 30 })
|
||||
assert.equal(buchungen().length, 3, 'nur drei offene Termine')
|
||||
assert.equal(mailsAn('viel@example.com').length, 5, '3 Bestaetigungen + 2 "zu viele", die sechste Anfrage bekommt nichts')
|
||||
assert.equal(mailsAn('viel@example.com').length, 3, 'drei Bestaetigungen; die vierte bis sechste Anfrage bekommt nichts (auch keine "zu viele")')
|
||||
|
||||
// andere Adressen zaehlen getrennt; Fehler der Zeit kommen vor der Mailgrenze (kein Orakel, ob die Adresse an der Grenze ist)
|
||||
const andere = await buchen({ zeit: '16:00', email: 'anna@example.com' })
|
||||
|
||||
Reference in new issue
Block a user