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:
1 parent
5d0adf12c9
commit
99d9b280f5
6 files changed
+34
-13
No files matched your search
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user