from scripts.kp_monthly_theme_support import build_kp_monthly_theme_support def test_kp_monthly_theme_support_preserves_parameter_sensitive_boundary() -> None: support = build_kp_monthly_theme_support( natal_kp={ "houses": { "2": {"significators": {"A": ["Jupiter"]}}, "6": {"significators": {"A": ["Saturn"]}}, "10": {"significators": {"A": ["Mercury"]}}, "11": {"significators": {"A": ["Venus"]}}, "7": {"significators": {"A": ["Moon"]}}, "5": {"significators": {"A": ["Sun"]}}, "9": {"significators": {"A": ["Mars"]}}, }, "ruling_planets": {"day_lord": "Moon"}, }, monthly_levels={"mahadasha": {"lord": "Mercury"}}, monthly_transits={"planets": {"Saturn": {"sign": "Pisces"}}}, ) assert "career" in support assert support["career"]["status"] == "parameter_sensitive" assert "must_not_claim" in support["career"] assert "水星" in support["career"]["summary"] assert "双鱼座" in support["career"]["summary"] assert support["career"]["promise_code"] == "2 / 6 / 10 / 11" assert "事业线本月先看" in support["career"]["summary"] or "事业线本月更适合先按" in support["career"]["summary"] assert "10宫事业与位置" in support["career"]["summary"] or "10宫事业与位置" in support["wealth"]["summary"] assert "career 主题" not in support["career"]["summary"]