Buchungskalender: Rechnungen, Einstellungen und Funktionen-Kachel

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Opus 5.5 committed 2026-10-07 14:23:19 +00:00
1 parent 10fe9a2ae0
commit efeb99e214
8 files changed
+696 -11

No files matched your search

+17
View File
@@ -564,3 +564,20 @@ test('Webshop-Kachel: Projekt-ID maskiert, Klick legt das Wunschprojekt in #webs
}
assert.equal(body.dataset.wunschProjekt, 'p7')
})
// ---- Buchungskalender-Kachel: nur bei unterkunft.verfuegbar, Preis 199 €, Zustände wie die Webshop-Kachel
test('Buchungskalender-Kachel: nur bei unterkunft.verfuegbar; Text, Preis und Zustände', async () => {
const mitUk = (state) => project('a', undefined) && { ...project('a'), features: { news, unterkunft: { state } } }
const ohne = await renderMit([mitUk('off')], {})
assert.doesNotMatch(ohne, /data-fn-tile="unterkunft"/)
const zu = await renderMit([mitUk('off')], { unterkunft: { verfuegbar: false } })
assert.doesNotMatch(zu, /data-fn-tile="unterkunft"/)
const off = tile(await renderMit([mitUk('off')], { unterkunft: { verfuegbar: true } }), 'unterkunft')
assert.match(off, /<h3>Buchungskalender<\/h3>/)
assert.match(off, /Belegungskalender auf deiner Website, Anfragen freigeben, Rechnung und Online-Zahlung/)
assert.match(off, /199 €/)
assert.match(off, /Buchungskalender anfragen/)
assert.match(off, /data-view="buchungen" data-project="a"/)
const faelle = { active: /Aktiv[\s\S]*Buchungskalender öffnen/, setup: /In Einrichtung/, ordered: /Zahlung offen/, disabled: /Abgeschaltet[\s\S]*Buchungskalender ansehen/ }
for (const [state, re] of Object.entries(faelle)) assert.match(tile(await renderMit([mitUk(state)], { unterkunft: { verfuegbar: true } }), 'unterkunft'), re, state)
})