mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-09 01:33:13 -04:00
Add a url_converter to check the date format.
This commit is contained in:
@@ -85,6 +85,7 @@ from app.notify_client.template_statistics_api_client import (
|
|||||||
from app.notify_client.user_api_client import user_api_client
|
from app.notify_client.user_api_client import user_api_client
|
||||||
from app.url_converters import (
|
from app.url_converters import (
|
||||||
LetterFileExtensionConverter,
|
LetterFileExtensionConverter,
|
||||||
|
SimpleDateTypeConverter,
|
||||||
TemplateTypeConverter,
|
TemplateTypeConverter,
|
||||||
)
|
)
|
||||||
from app.utils import format_thousands, get_logo_cdn_domain, id_safe
|
from app.utils import format_thousands, get_logo_cdn_domain, id_safe
|
||||||
@@ -221,6 +222,7 @@ def init_app(application):
|
|||||||
application.url_map.converters['uuid'].to_python = lambda self, value: value
|
application.url_map.converters['uuid'].to_python = lambda self, value: value
|
||||||
application.url_map.converters['template_type'] = TemplateTypeConverter
|
application.url_map.converters['template_type'] = TemplateTypeConverter
|
||||||
application.url_map.converters['letter_file_extension'] = LetterFileExtensionConverter
|
application.url_map.converters['letter_file_extension'] = LetterFileExtensionConverter
|
||||||
|
application.url_map.converters['simple_date'] = SimpleDateTypeConverter
|
||||||
|
|
||||||
|
|
||||||
def convert_to_boolean(value):
|
def convert_to_boolean(value):
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ def returned_letter_summary(service_id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@main.route("/services/<uuid:service_id>/returned-letters-csv/<reported_at>", methods=["GET"])
|
@main.route("/services/<uuid:service_id>/returned-letters-csv/<simple_date:reported_at>", methods=["GET"])
|
||||||
@user_has_permissions('view_activity')
|
@user_has_permissions('view_activity')
|
||||||
def returned_letters_report(service_id, reported_at):
|
def returned_letters_report(service_id, reported_at):
|
||||||
returned_letters = service_api_client.get_returned_letters(service_id, reported_at)
|
returned_letters = service_api_client.get_returned_letters(service_id, reported_at)
|
||||||
|
|||||||
@@ -9,3 +9,7 @@ class TemplateTypeConverter(BaseConverter):
|
|||||||
class LetterFileExtensionConverter(BaseConverter):
|
class LetterFileExtensionConverter(BaseConverter):
|
||||||
|
|
||||||
regex = '(?:pdf|png)'
|
regex = '(?:pdf|png)'
|
||||||
|
|
||||||
|
|
||||||
|
class SimpleDateTypeConverter(BaseConverter):
|
||||||
|
regex = r'([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))'
|
||||||
|
|||||||
@@ -70,3 +70,15 @@ def test_returned_letters_reports(
|
|||||||
+ '12345678,2344567,2019-12-24 13:30,test@gov.uk,'
|
+ '12345678,2344567,2019-12-24 13:30,test@gov.uk,'
|
||||||
+ 'First letter template,3445667,2,,,test_letter.pdf'
|
+ 'First letter template,3445667,2,,,test_letter.pdf'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_returned_letters_reports_returns_404_for_bad_date(
|
||||||
|
client_request,
|
||||||
|
mocker
|
||||||
|
):
|
||||||
|
mock = mocker.patch("app.service_api_client.get_returned_letters")
|
||||||
|
client_request.get_response("main.returned_letters_report",
|
||||||
|
service_id=SERVICE_ONE_ID,
|
||||||
|
reported_at='19-12-2019',
|
||||||
|
_expected_status=404)
|
||||||
|
mock.assert_not_called()
|
||||||
|
|||||||
Reference in New Issue
Block a user