Tests nach der Freigabe: Wortlaut-Status freigegeben, Rückfall "PDF fehlt" per Test-Weiche

Seit die PDFs der Fassung 6 im Repo liegen, stellt knUnterlagenFehlen den Fall "Fassung 6
ohne PDF" mit setAnhangPfadFuerTests nach (vertragsAnhang.js, nur für Tests, Vorgabe aus).
Vier Nachweis-Tests erwarten jetzt wortlaut: 'freigegeben'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-28 14:52:35 +00:00
1 parent 5d0adf12c9
commit 99d9b280f5
6 files changed
+34 -13

No files matched your search

+12 -2
View File
@@ -11,6 +11,16 @@ import { access, readFile } from 'node:fs/promises'
import { contractAttachmentFor } from './products.js'
import { istNeueFassung } from './vertragsNachweis.js'
/** Nur für Tests: lenkt den Pfad des PDFs um (fn(pfad, termsVersion) -> pfad; null = normal), um „PDF fehlt“ nachzustellen. */
let pfadFuerTests = null
export function setAnhangPfadFuerTests(fn) {
pfadFuerTests = typeof fn === 'function' ? fn : null
}
function anhangVon(termsVersion) {
const a = contractAttachmentFor(termsVersion)
return pfadFuerTests ? { ...a, path: pfadFuerTests(a.path, termsVersion) } : a
}
/**
* @param {string} termsVersion zugestimmte Fassung (die Fassung der Zustimmung, nicht die des Abos)
* @param {string} tag Kennung fuer das Log, z. B. 'abo'
@@ -18,7 +28,7 @@ import { istNeueFassung } from './vertragsNachweis.js'
* fehlt: nur bei Fassung 6 und nicht lesbarer Datei
*/
export async function ladeVertragsAnhang(termsVersion, tag) {
const { filename, path } = contractAttachmentFor(termsVersion)
const { filename, path } = anhangVon(termsVersion)
const content = await readFile(path).catch((err) => {
console.error(`[${tag}] Vertragsunterlagen ${filename} nicht lesbar:`, err.message)
return null
@@ -29,6 +39,6 @@ export async function ladeVertragsAnhang(termsVersion, tag) {
/** Fehlen die PDFs der Fassung 6 (ohne Log, ohne Lesen der Datei)? Für ein später gesendetes T12; ältere Fassungen: nie. */
export async function anhangFehlt(termsVersion) {
if (!istNeueFassung(termsVersion)) return false
const { path } = contractAttachmentFor(termsVersion)
const { path } = anhangVon(termsVersion)
return access(path).then(() => false, () => true)
}