import { test } from 'node:test' import assert from 'node:assert/strict' import { readFile } from 'node:fs/promises' // Platzhalter der Bestellpruefung (server/services/termine/fragebogen.js, Block B): bestellbar ist alles, bis // Block C die echte Pruefung liefert. Block C loescht diese Datei zusammen mit dem Stub (Task C2). const { bestellpruefung } = await import('../server/services/termine/fragebogen.js') test('Stub: bestellpruefung liefert [] fuer jede Eingabe, mit und ohne Abo-Punkt', () => { assert.deepEqual(bestellpruefung({ einstellung: null, fragebogen: null, feature: { key: 'termine' } }), []) assert.deepEqual(bestellpruefung({ einstellung: {}, fragebogen: {}, feature: {}, abo: { ok: false, grund: 'kein_abo' } }), []) assert.deepEqual(bestellpruefung({ einstellung: {}, fragebogen: {}, feature: {}, mitAbo: false }), []) assert.deepEqual(bestellpruefung({}), []) assert.ok(Array.isArray(bestellpruefung({})), 'ein Array, kein Promise') }) test('Stub: jeder Aufruf liefert ein neues Array (Aufrufer duerfen es veraendern)', () => { const eins = bestellpruefung({}) eins.push({ schritt: 'x', text: 'y' }) assert.deepEqual(bestellpruefung({}), []) }) test('Stub traegt die Marke im Kopfkommentar (Block C ersetzt die Datei, Abschlusspruefung Block B zaehlt sie)', async () => { const quelle = await readFile(new URL('../server/services/termine/fragebogen.js', import.meta.url), 'utf8') assert.match(quelle, /^\/\/ STUB \(Block B\) – ersetzt Task C/) })