42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""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)
|