55 lines
2.1 KiB
Python
55 lines
2.1 KiB
Python
from __future__ import annotations
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
SCRIPTS = ROOT / "scripts"
|
|
if str(SCRIPTS) not in sys.path:
|
|
sys.path.insert(0, str(SCRIPTS))
|
|
|
|
import career_vedastro_radar # noqa: E402
|
|
|
|
|
|
def test_career_radar_wraps_vedastro_range_scan_as_secondary_evidence(monkeypatch) -> None:
|
|
def fake_run(case, domain, start_date, end_date, case_id="user_chart"):
|
|
return {
|
|
"status": "ok",
|
|
"domain": domain,
|
|
"operation": "range_scan",
|
|
"evidence_ledger": [{"event_id": "CareerExpansionWindow", "date": "2026-09-01"}],
|
|
"adjudicator_policy": {"can_change_score": False},
|
|
}
|
|
|
|
monkeypatch.setattr(career_vedastro_radar.vedastro_service_adapter, "run_range_scan_for_case", fake_run)
|
|
|
|
packet = career_vedastro_radar.build_career_radar_packet(
|
|
{"year": 1990, "month": 1, "day": 1, "hour": 12, "minute": 0, "lat": 36.4, "lon": 114.2, "tz": 8},
|
|
start_date="2026-07-16",
|
|
end_date="2026-12-31",
|
|
)
|
|
|
|
assert packet["status"] == "ok"
|
|
assert packet["domain"] == "career"
|
|
assert packet["adjudicator_use"] == "secondary_evidence_only"
|
|
assert packet["can_change_score"] is False
|
|
assert packet["vedastro_range_scan_result"]["evidence_ledger"][0]["event_id"] == "CareerExpansionWindow"
|
|
|
|
|
|
def test_career_radar_preserves_blocked_boundary(monkeypatch) -> None:
|
|
def fake_run(case, domain, start_date, end_date, case_id="user_chart"):
|
|
return {"status": "blocked", "reason": "official_endpoint_not_configured", "evidence_ledger": []}
|
|
|
|
monkeypatch.setattr(career_vedastro_radar.vedastro_service_adapter, "run_range_scan_for_case", fake_run)
|
|
|
|
packet = career_vedastro_radar.build_career_radar_packet(
|
|
{"year": 1990, "month": 1, "day": 1, "hour": 12, "minute": 0, "lat": 36.4, "lon": 114.2, "tz": 8},
|
|
start_date="2026-07-16",
|
|
end_date="2026-12-31",
|
|
)
|
|
|
|
assert packet["status"] == "blocked"
|
|
assert packet["can_change_score"] is False
|
|
assert packet["blocked_reason"] == "official_endpoint_not_configured"
|