| from datetime import datetime, timezone | |
| from docsifer.analytics.periods import period_keys | |
| def test_iso_week_format() -> None: | |
| # 2025-01-01 is a Wednesday โ ISO week 01 of 2025 | |
| day, week, month, year, total = period_keys(datetime(2025, 1, 1, tzinfo=timezone.utc)) | |
| assert day == "2025-01-01" | |
| assert week == "2025-W01" | |
| assert month == "2025-01" | |
| assert year == "2025" | |
| assert total == "total" | |
| def test_iso_week_year_boundary() -> None: | |
| # 2024-12-30 (Mon) belongs to ISO week 01 of 2025 | |
| day, week, *_ = period_keys(datetime(2024, 12, 30, tzinfo=timezone.utc)) | |
| assert week == "2025-W01" | |
| assert day == "2024-12-30" | |
| def test_naive_datetime_assumed_utc() -> None: | |
| day, *_ = period_keys(datetime(2025, 6, 15)) | |
| assert day == "2025-06-15" | |