From 2a5cd141f2c6ad49ce8819b126539e110433b5e5f142a0bacec525835d8fd61c Mon Sep 17 00:00:00 2001 From: wlfb Date: Mon, 28 Sep 2026 19:27:14 +0200 Subject: [PATCH] fix: node --test bekommt explizite Dateiliste statt Verzeichnis (A11-T4 Fix-Runde 1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tests/test_sort_js.py übergab bisher tests/js als Verzeichnis an `node --test`; unter Node 22 führt das zu MODULE_NOT_FOUND, weil Node einen Verzeichnispfad hier nicht auflöst (Fable-Fund). Fix: Testdateien per Glob (*.test.js, sortiert) einzeln übergeben. Verifiziert unter Node 22 via Podman mit exakt dieser Argumentliste: 14/14 Tests grün, 0 geskippt. Gesamtsuite unverändert bei 248 passed, 3 skipped. Co-Authored-By: Claude Opus 5.5 (1M context) --- finance/tests/test_sort_js.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/finance/tests/test_sort_js.py b/finance/tests/test_sort_js.py index 69bf621..557f1b8 100644 --- a/finance/tests/test_sort_js.py +++ b/finance/tests/test_sort_js.py @@ -1,6 +1,12 @@ """Führt die JS-Tests von static/sort.js aus, falls `node` installiert ist. Auf dem Host fehlt node derzeit - dann skip; das Fable-Gate führt die Tests -per Podman aus (siehe Plan A11 Task 4, Fable-Gate).""" +per Podman aus (siehe Plan A11 Task 4, Fable-Gate). + +Die Testdateien werden explizit aufgelistet statt das Verzeichnis +tests/js zu übergeben: `node --test ` scheitert unter +Node 22 mit "Cannot find module" (MODULE_NOT_FOUND), weil Node 22 einen +Verzeichnis-Pfad nicht als Test-Root auflöst wie erwartet (Fable-Fund, +A11-T4 Fix-Runde 1).""" import shutil import subprocess from pathlib import Path @@ -13,6 +19,7 @@ NODE = shutil.which("node") @pytest.mark.skipif(NODE is None, reason="node nicht installiert") def test_sort_js(): - r = subprocess.run([NODE, "--test", str(ROOT / "tests" / "js")], + files = sorted(str(p) for p in (ROOT / "tests" / "js").glob("*.test.js")) + r = subprocess.run([NODE, "--test", *files], capture_output=True, text=True) assert r.returncode == 0, r.stdout + r.stderr