docsifer / tests /unit /test_periods.py
lamhieu's picture
refactor(core): overhaul architecture for better performance, efficiency, and maintainability
41788c4
Raw
History Blame Contribute Delete
788 Bytes
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"