"""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). 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 import pytest ROOT = Path(__file__).resolve().parent.parent NODE = shutil.which("node") @pytest.mark.skipif(NODE is None, reason="node nicht installiert") def test_sort_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