Simplify the code in the query.

The date in the notifications table should always be the most recent date for the template.
Removed the template_type param for the query as well.
Simplified the tests.
This commit is contained in:
Rebecca Law
2020-02-05 16:43:17 +00:00
parent 3a32c35dd2
commit dec42b06cc
4 changed files with 23 additions and 54 deletions

View File

@@ -56,54 +56,31 @@ def test_last_template_usage_should_be_able_to_get_no_template_usage_history_if_
assert not results
@pytest.mark.parametrize('last_status_date, last_notification_date',
[((datetime.utcnow() - timedelta(days=2)).date(), None),
((datetime.utcnow() - timedelta(days=2)).date(), datetime.utcnow() - timedelta(days=3))]
)
def test_dao_get_last_date_template_was_used_returns_bst_date_from_stats_table(
sample_template, last_status_date, last_notification_date
sample_template
):
last_status_date = (datetime.utcnow() - timedelta(days=2)).date()
create_ft_notification_status(bst_date=last_status_date,
template=sample_template)
if last_notification_date:
create_notification(template=sample_template, created_at=last_notification_date)
last_used_date = dao_get_last_date_template_was_used(template_id=sample_template.id,
template_type='sms',
service_id=sample_template.service_id)
assert last_used_date == last_status_date
@pytest.mark.parametrize('last_notification_date, last_status_date',
[(datetime.utcnow() - timedelta(hours=2), None),
(datetime.utcnow() - timedelta(hours=2), (datetime.utcnow() - timedelta(days=2)).date())]
)
def test_dao_get_last_date_template_was_used_returns_created_at_from_notifications(
sample_template, last_status_date, last_notification_date
sample_template
):
last_notification_date = datetime.utcnow() - timedelta(hours=2)
create_notification(template=sample_template, created_at=last_notification_date)
if last_status_date:
create_ft_notification_status(bst_date=last_status_date, template=sample_template)
last_status_date = (datetime.utcnow() - timedelta(days=2)).date()
create_ft_notification_status(bst_date=last_status_date, template=sample_template)
last_used_date = dao_get_last_date_template_was_used(template_id=sample_template.id,
template_type='sms',
service_id=sample_template.service_id)
assert last_used_date == last_notification_date
def test_dao_get_last_date_template_was_used_returns_none_if_never_used(sample_template):
assert not dao_get_last_date_template_was_used(template_id=sample_template.id,
template_type='sms',
service_id=sample_template.service_id)
def test_dao_get_last_date_template_was_used_correct_date(sample_template):
date_from_notification = datetime.utcnow() - timedelta(hours=2)
create_notification(template=sample_template, created_at=date_from_notification)
date_from_ft_status = (datetime.utcnow() - timedelta(days=2)).date()
create_ft_notification_status(bst_date=date_from_ft_status,
template=sample_template)
actual_result = dao_get_last_date_template_was_used(template_id=sample_template.id,
template_type='sms',
service_id=sample_template.service_id)
assert actual_result == date_from_notification

View File

@@ -221,7 +221,7 @@ def test_get_last_used_datetime_for_template_returns_400_if_service_does_not_exi
)
def test_get_last_used_datetime_for_template_returns_400_if_template_does_not_exist(
def test_get_last_used_datetime_for_template_returns_404_if_template_does_not_exist(
admin_request, sample_template
):
admin_request.get(