Buchungskalender: Abschluss – S6 Belegung laedt nur Relevantes, bis-Indizes, 10-s-Speicher
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ab838d07bc
commit
17400cac1f
7 files changed
+99
-17
No files matched your search
@@ -39,6 +39,22 @@ test('ueberschneidet: Halboffen, Abreise gleich Anreise ist frei', () => {
|
||||
assert.equal(bel.ueberschneidet({ von: '2026-11-01', bis: '2026-11-10' }, { von: '2026-11-03', bis: '2026-11-04' }), true)
|
||||
})
|
||||
|
||||
test('Belegung laedt nur Sperren und Anfragen, die nach dem Fensteranfang enden (bis > von)', async () => {
|
||||
await sp.legeSperreAn({ unterkunftId: 'u1', featureId: 'f1', von: '2026-09-01', bis: '2026-09-10', quelle: 'manuell' })
|
||||
await sp.legeSperreAn({ unterkunftId: 'u1', featureId: 'f1', von: '2026-11-10', bis: '2026-11-12', quelle: 'manuell' })
|
||||
anfrage({ status: 'gebucht', von: '2026-09-01', bis: '2026-09-05' })
|
||||
anfrage({ status: 'gebucht', von: '2026-11-20', bis: '2026-11-22' })
|
||||
assert.deepEqual((await sp.listeSperren('u1', { bisNach: '2026-11-01' })).map((s) => s.bis), ['2026-11-12'])
|
||||
assert.equal((await sp.listeSperren('u1')).length, 2)
|
||||
assert.deepEqual((await sp.listeAnfragenNachStatus('u1', ['gebucht'], { bisNach: '2026-11-01' })).map((a) => a.bis), ['2026-11-22'])
|
||||
// bis == von: beruehrt das Fenster nicht
|
||||
assert.equal((await sp.listeSperren('u1', { bisNach: '2026-11-12' })).length, 0)
|
||||
assert.deepEqual(await bel.belegteBereiche('u1', '2026-11-01', '2026-11-30', { now: NOW }), [
|
||||
{ von: '2026-11-10', bis: '2026-11-12', quelle: 'manuell' },
|
||||
{ von: '2026-11-20', bis: '2026-11-22', quelle: 'gebucht' },
|
||||
])
|
||||
})
|
||||
|
||||
test('Sperre manuell blockiert, Abreisetag nicht', async () => {
|
||||
await sp.legeSperreAn({ unterkunftId: 'u1', featureId: 'f1', von: '2026-11-10', bis: '2026-11-12', quelle: 'manuell' })
|
||||
assert.equal(await bel.istFrei('u1', '2026-11-11', '2026-11-13', { now: NOW }), false)
|
||||
|
||||
Reference in new issue
Block a user