Terminplaner TP2 C4a: Nachbesserung 1

Die Wahl des Live-Hosts steht jetzt nur noch in liveHost() (kontext.js);
websiteUrl() und der Betriebsvorschlag des Fragebogens (routes/termine.js)
nutzen dieselbe Funktion.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-04 19:34:37 +00:00
1 parent 250fc0c4df
commit 42a3befc5f
3 files changed
+43 -13

No files matched your search

+20 -1
View File
@@ -31,7 +31,7 @@ const { leerFragebogen, normalisiereFragebogen, FRAGEBOGEN_MAX } = await import(
const { activate } = await import('../server/services/siteFeatures.js')
const K = await import('../server/services/termine/kontext.js')
const M = await import('../server/services/termine/mails.js')
const { ladeEinstellung, speichereEinstellung, speichereFragebogen, kontextPerSiteKey, kontextPerFeature, kontextFuerPortal, websiteUrl, resetKontextForTests } = K
const { ladeEinstellung, speichereEinstellung, speichereFragebogen, kontextPerSiteKey, kontextPerFeature, kontextFuerPortal, websiteUrl, liveHost, resetKontextForTests } = K
const { BETREFFE, werteFuer, anGast, anBetrieb } = M
after(() => setMailTransportForTests(null))
@@ -554,6 +554,25 @@ test('websiteUrl: betrieb.websiteUrl, sonst Live-Domain, sonst Vorschau-Subdomai
assert.equal(websiteUrl(null), config.publicBaseUrl)
})
test('liveHost: Live-Host nur aus liveDomain, nie die Vorschau; websiteUrl nutzt denselben Host', () => {
const faelle = [
[{ subdomain: 'salon', liveDomain: 'www.salon.de' }, 'www.salon.de'],
[{ subdomain: 'salon', liveDomain: 'https://WWW.Salon.de/start?x=1' }, 'www.salon.de'],
[{ liveDomain: 'salon.de' }, 'salon.de'],
[{ subdomain: ' Salon ', liveDomain: 'salon.project.webklar.com' }, undefined],
[{ subdomain: 'salon', liveDomain: 'kein host!' }, undefined],
[{ subdomain: 'salon', liveDomain: '' }, undefined],
[{ subdomain: 'salon' }, undefined],
[{}, undefined],
[null, undefined],
]
for (const [project, erwartet] of faelle) {
assert.equal(liveHost(project), erwartet, JSON.stringify(project))
const ohneUrl = { einstellung: { betrieb: betriebMit({ websiteUrl: null }) }, project }
if (erwartet) assert.equal(websiteUrl(ohneUrl), `https://${erwartet}`, `websiteUrl folgt liveHost: ${JSON.stringify(project)}`)
}
})
// ---------------------------------------------------------------- Fragebogen im Speicher und im Kontext (TP2)
/** Normalisierter Fragebogen aus einer (teilweisen) Eingabe; die Eingabe muss gueltig sein. */