from __future__ import annotations import json import tempfile import unittest from datetime import date from pathlib import Path from daily_report.workday import is_workday class WorkdayTest(unittest.TestCase): def test_uses_holidays_and_makeup_workdays(self) -> None: with tempfile.TemporaryDirectory(prefix="daily-report-workday-") as temp: calendar_path = Path(temp) / "calendar.json" calendar_path.write_text( json.dumps( { "holidays": ["2026-05-01"], "makeup_workdays": ["2026-05-09"], } ), encoding="utf-8", ) self.assertFalse(is_workday(date(2026, 5, 1), calendar_path)) self.assertTrue(is_workday(date(2026, 5, 9), calendar_path)) self.assertFalse(is_workday(date(2026, 5, 10), calendar_path)) self.assertTrue(is_workday(date(2026, 5, 11), calendar_path)) if __name__ == "__main__": unittest.main()