Files
Jyotisha/tests/test_jaimini_rangacharya_api.py
2026-07-17 01:03:50 +08:00

51 lines
1.5 KiB
Python

import os
import sys
SCRIPTS = os.path.join(os.path.dirname(__file__), "..", "scripts")
if SCRIPTS not in sys.path:
sys.path.insert(0, SCRIPTS)
from jyotish_api_server import JyotishAPIHandler # noqa: E402
def _handler() -> JyotishAPIHandler:
return JyotishAPIHandler.__new__(JyotishAPIHandler)
def _planets():
return {
"Sun": {"lon": 10.0},
"Moon": {"lon": 45.0},
"Mars": {"lon": 80.0},
"Mercury": {"lon": 110.0},
"Jupiter": {"lon": 145.0},
"Venus": {"lon": 200.0},
"Saturn": {"lon": 250.0},
"Rahu": {"lon": 300.0},
"Ketu": {"lon": 120.0},
}
def test_jaimini_default_does_not_include_rangacharya():
result = _handler()._compute_jaimini({
"mode": "arudha",
"ascendant": {"lon": 0.0},
"planets": _planets(),
})
assert "rangacharya" not in result["result"]
assert "rangacharya_diff" not in result["result"]
def test_jaimini_variant_all_includes_current_variant_and_diff():
result = _handler()._compute_jaimini({
"mode": "arudha",
"variant": "all",
"ascendant": {"lon": 0.0},
"planets": _planets(),
})
assert result["result"]["rangacharya"]["adjudication_enabled"] is False
assert result["result"]["rangacharya_diff"]["adjudication_enabled"] is False
assert result["result"]["rangacharya"]["arudha_padas"]["AL"]["source_card_status"] == "transcribed"
assert result["result"]["rangacharya"]["active_lagna"]["source_card_id"] == "active_effective_lagna"