"""Tests for get_datetime function.""" import datetime from freezegun import freeze_time from dakiny_bot.election_utils import get_datetime @freeze_time("2025-6-16") def test_regular_get_datetime() -> None: """ Test a regular get_datetime. Expect the returned datetime to be the frozen date. Have two different days to ensure that the date is being returned correctly. """ date_time = get_datetime("6/15") assert date_time == datetime.datetime(2025, 6, 15, tzinfo=datetime.UTC) @freeze_time("2025-1-16") def test_jan_get_datetime() -> None: """ Test previous year get_datetime. Frozen day is in January 2025, datetime string is in December. Expect datetime to be from 2024. """ date_time = get_datetime("12/15") assert date_time == datetime.datetime(2024, 12, 15, tzinfo=datetime.UTC) @freeze_time("2025-12-16") def test_dec_get_datetime() -> None: """ Test next year get_datetime. Frozen day is in December 2025, datetime string is in January. Expect datetime to be from 2026. """ date_time = get_datetime("1/15") assert date_time == datetime.datetime(2026, 1, 15, tzinfo=datetime.UTC)