mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-16 02:02:13 -05:00
Add date helper methods to be used as date range filters for notification counts
This commit is contained in:
12
app/utils.py
12
app/utils.py
@@ -1,3 +1,5 @@
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from flask import url_for
|
||||
from app.models import SMS_TYPE, EMAIL_TYPE
|
||||
from notifications_utils.template import SMSMessageTemplate, PlainTextEmailTemplate
|
||||
@@ -26,3 +28,13 @@ def get_template_instance(template, values):
|
||||
return {
|
||||
SMS_TYPE: SMSMessageTemplate, EMAIL_TYPE: PlainTextEmailTemplate
|
||||
}[template['template_type']](template, values)
|
||||
|
||||
|
||||
def get_midnight_for_date(date):
|
||||
midnight = datetime.combine(date, datetime.min.time())
|
||||
return midnight
|
||||
|
||||
|
||||
def get_midnight_for_day_before(date):
|
||||
day_before = date - timedelta(1)
|
||||
return get_midnight_for_date(day_before)
|
||||
|
||||
25
tests/app/test_utils.py
Normal file
25
tests/app/test_utils.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from datetime import datetime
|
||||
import pytest
|
||||
|
||||
from app.utils import (
|
||||
get_midnight_for_date,
|
||||
get_midnight_for_day_before
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('date, expected_date', [
|
||||
(datetime(2016, 1, 15, 0, 30), datetime(2016, 1, 15, 0, 0)),
|
||||
(datetime(2016, 1, 15, 0, 0), datetime(2016, 1, 15, 0, 0)),
|
||||
(datetime(2016, 1, 15, 11, 59), datetime(2016, 1, 15, 0, 0)),
|
||||
])
|
||||
def test_get_midnight_for_today_returns_expected_date(date, expected_date):
|
||||
assert get_midnight_for_date(date) == expected_date
|
||||
|
||||
|
||||
@pytest.mark.parametrize('date, expected_date', [
|
||||
(datetime(2016, 1, 15, 0, 30), datetime(2016, 1, 14, 0, 0)),
|
||||
(datetime(2016, 1, 15, 0, 0), datetime(2016, 1, 14, 0, 0)),
|
||||
(datetime(2016, 1, 15, 11, 59), datetime(2016, 1, 14, 0, 0)),
|
||||
])
|
||||
def test_get_midnight_for_day_before_returns_expected_date(date, expected_date):
|
||||
assert get_midnight_for_day_before(date) == expected_date
|
||||
Reference in New Issue
Block a user