Terminplaner TP2: Fragebogen-Helfer im Client
Reine Helfer in public/termine-view.js: FRAGEBOGEN_SCHRITTE (Spiegel von SCHRITTE und SCHRITT_TITEL), schrittStatus, ersterOffenerSchritt, ressourcenAusNamen, buchungsartFuerAlle, buchungsartLage und zusammenfassung (acht Gruppen, nur Text, Bundesland nur bei ausdruecklicher Wahl, nie feedToken). Tests in test/termineFragebogenView.test.js, Spiegel-Test in test/termineView.test.js. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
91b1a3bcd8
commit
edaefd4237
3 files changed
+707
-1
No files matched your search
@@ -2,7 +2,7 @@ import { test } from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import { readFileSync, readdirSync } from 'node:fs'
|
||||
import {
|
||||
FILTER, ABSAGE_GRUENDE, abschaltText, anfragenText, bereichFuer, datumKurz, datumLang, endeZeit, fensterParsen, fensterText, filterStatus, gruppiereNachTag,
|
||||
FILTER, FRAGEBOGEN_SCHRITTE, ABSAGE_GRUENDE, abschaltText, anfragenText, bereichFuer, datumKurz, datumLang, endeZeit, fensterParsen, fensterText, filterStatus, gruppiereNachTag,
|
||||
fehltText, fensterAufteilen, heuteBerlin, istSperre, istTag, monatVon, moeglicheAktionen, ressourcenWort, statusLabel, statusTon, tagPlus, tagUeberschrift, verschiebeTag, wocheVon, zeitNormal, zeitraumTitel,
|
||||
} from '../public/termine-view.js'
|
||||
import {
|
||||
@@ -15,6 +15,7 @@ import { beschrifteFehler } from '../public/termine-speichern.js'
|
||||
import { BUNDESLAENDER as SERVER_BUNDESLAENDER } from '../server/services/termine/feiertage.js'
|
||||
import { normalisiereEinstellung, preisText, zahlungText } from '../server/services/termine/einstellungen.js'
|
||||
import { VORLAGEN, ausVorlage } from '../server/services/termine/vorlagen.js'
|
||||
import { SCHRITTE, SCHRITT_TITEL } from '../server/services/termine/fragebogen.js'
|
||||
|
||||
const JETZT_SERVER = new Date('2026-10-05T08:00:00.000Z') // feste Uhr für Aufrufe der Server-Prüfung
|
||||
|
||||
@@ -598,6 +599,11 @@ test('Spiegel: Obergrenzen der Listen sind die des Servers', () => {
|
||||
}
|
||||
})
|
||||
|
||||
test('Spiegel: Schritte des Fragebogens (Schlüssel, Reihenfolge, Titel) sind die des Servers', () => {
|
||||
assert.deepEqual(FRAGEBOGEN_SCHRITTE.map(([key]) => key), [...SCHRITTE])
|
||||
assert.deepEqual(Object.fromEntries(FRAGEBOGEN_SCHRITTE), Object.fromEntries(SCHRITTE.map((key) => [key, SCHRITT_TITEL[key]])), 'Titel wie in „Bitte bestätige den Schritt …“')
|
||||
})
|
||||
|
||||
test('Spiegel: Längen der Eingabefelder (maxlength) kürzt der Server nicht mehr', () => {
|
||||
const lang = (n) => 'x'.repeat(n)
|
||||
const lies = (e, was) => was(normalisiereEinstellung(e, { now: JETZT_SERVER }).einstellung)
|
||||
|
||||
Reference in new issue
Block a user