from pathlib import Path import subprocess import pytest @pytest.mark.parametrize("case", [ "long_request", "latest_context", "delayed_language_capture", "preference_write_without_queued_B", "consumer_cancel", "honest_failures", "ui_paths", "language_latest", "assignment_handoff", "standalone", ]) def test_mapping_browser_request_contract(case): root = Path(__file__).resolve().parents[1] result = subprocess.run( ["node", "tests/mapping_browser_requests.cjs", case], cwd=root, capture_output=True, text=True, timeout=15, ) assert result.returncode == 0, result.stdout + result.stderr assert f"PASS Mapping browser contract: {case}" in result.stdout, result.stdout + result.stderr