from scripts.kp_monthly_report_packet import build_kp_monthly_report_packet BEIJING_SMOKE = { "year": 1990, "month": 1, "day": 1, "hour": 12, "minute": 0, "second": 0, "lat": 39.9042, "lon": 116.4074, "tz": 8, } def test_kp_monthly_report_packet_builds_two_fictional_months() -> None: packet = build_kp_monthly_report_packet( birth_payload=BEIJING_SMOKE, start_month="2026-01", month_count=2, ) assert packet["schema"] == "jyotish.kp_monthly_report.v1" assert packet["window"]["month_count"] == 2 assert [row["month"] for row in packet["months"]] == ["2026-01", "2026-02"] assert all(row["status"] == "parameter_sensitive" for row in packet["months"]) assert packet["yearly_highlights"] assert packet["yearly_highlights"][0]["year"] == 2026