Files
notifications-api/tests/notifications_utils/test_timezones.py
2024-05-17 17:14:46 -04:00

37 lines
981 B
Python

import dateutil
import pytest
from notifications_utils.timezones import utc_string_to_aware_gmt_datetime
@pytest.mark.parametrize(
("input_value", "expectation"),
[
("foo", pytest.raises(dateutil.parser._parser.ParserError)),
(100, pytest.raises(TypeError)),
(True, pytest.raises(TypeError)),
(False, pytest.raises(TypeError)),
(None, pytest.raises(TypeError)),
],
)
def test_utc_string_to_aware_gmt_datetime_rejects_bad_input(input_value, expectation):
with expectation:
utc_string_to_aware_gmt_datetime(input_value)
@pytest.mark.parametrize(
("naive_time", "expected_aware_hour"),
[
("2000-12-1 20:01", "15:01"),
("2000-06-1 20:01", "16:01"),
],
)
def test_utc_string_to_aware_gmt_datetime_handles_summer_and_winter(
naive_time,
expected_aware_hour,
):
assert (
utc_string_to_aware_gmt_datetime(naive_time).strftime("%H:%M")
== expected_aware_hour
)