mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-11 09:28:27 -04:00
DRY-up email revalidation check
Previously this was duplicated between the "two_factor" and the "webauthn" views, and required more test setup. This DRYs up the check and tests it once, using mocks to simplify the view tests. As part of DRYing up the check into a util module, I've also moved the "is_less_than_days_ago" function it uses.
This commit is contained in:
@@ -3,12 +3,7 @@ from freezegun import freeze_time
|
||||
|
||||
from app import format_datetime_relative
|
||||
from app.formatters import email_safe, round_to_significant_figures
|
||||
from app.utils import (
|
||||
get_current_financial_year,
|
||||
get_logo_cdn_domain,
|
||||
is_less_than_days_ago,
|
||||
merge_jsonlike,
|
||||
)
|
||||
from app.utils import get_logo_cdn_domain, merge_jsonlike
|
||||
|
||||
|
||||
@pytest.mark.parametrize('service_name, safe_email', [
|
||||
@@ -79,16 +74,6 @@ def test_format_datetime_relative(time, human_readable_datetime):
|
||||
assert format_datetime_relative(time) == human_readable_datetime
|
||||
|
||||
|
||||
@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("source_object, destination_object, expected_result", [
|
||||
# simple dicts:
|
||||
({"a": "b"}, {"c": "d"}, {"a": "b", "c": "d"}),
|
||||
@@ -137,14 +122,3 @@ def test_merge_jsonlike_merges_jsonlike_objects_correctly(source_object, destina
|
||||
))
|
||||
def test_round_to_significant_figures(value, significant_figures, expected_result):
|
||||
assert round_to_significant_figures(value, significant_figures) == expected_result
|
||||
|
||||
|
||||
@pytest.mark.parametrize('datetime_string, financial_year', (
|
||||
('2021-01-01T00:00:00+00:00', 2020), # Start of 2021
|
||||
('2021-03-31T22:59:59+00:00', 2020), # One minute before midnight (BST)
|
||||
('2021-03-31T23:00:00+00:00', 2021), # Midnight (BST)
|
||||
('2021-12-12T12:12:12+01:00', 2021), # 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
|
||||
|
||||
Reference in New Issue
Block a user