Files
notifications-admin/tests/app/utils/test_time.py
2024-02-07 09:38:18 -07:00

32 lines
1.0 KiB
Python

import pytest
from freezegun import freeze_time
from app.utils.time import get_current_financial_year, is_less_than_days_ago
@pytest.mark.parametrize(
("date_from_db", "expected_result"),
[
("2019-11-17T11:35:21.726132Z", True),
("2019-11-16T11:35:21.726132Z", False),
("2019-11-16T11:35:21+0000", False),
],
)
@freeze_time("2020-02-14T12:00:00")
def test_is_less_than_days_ago(date_from_db, expected_result):
assert is_less_than_days_ago(date_from_db, 90) == expected_result
@pytest.mark.parametrize(
("datetime_string", "financial_year"),
[
("2021-01-01T00:00:00+00:00", 2021), # Start of 2021
("2021-04-01T03:59:59+00:00", 2021), # One minute before midnight (BST)
("2021-10-01T04:05:00+00:00", 2022), # Midnight (BST)
("2021-12-12T12:12:12+01:00", 2022), # Later in the year
],
)
def test_get_financial_year(datetime_string, financial_year):
with freeze_time(datetime_string):
assert get_current_financial_year() == financial_year