diff --git a/app/performance_dashboard/rest.py b/app/performance_dashboard/rest.py index 747c8964d..f7f2f4a07 100644 --- a/app/performance_dashboard/rest.py +++ b/app/performance_dashboard/rest.py @@ -32,18 +32,25 @@ def get_performance_dashboard(): today = str(datetime.utcnow().date()) start_date = datetime.strptime( - request.args.get("start_date", today), "%Y-%m-%d", + request.args.get("start_date", today), + "%Y-%m-%d", + ).date() + end_date = datetime.strptime( + request.args.get("end_date", today), + "%Y-%m-%d", ).date() - end_date = datetime.strptime(request.args.get("end_date", today), "%Y-%m-%d",).date() total_for_all_time = get_total_notifications_for_date_range( - start_date=None, end_date=None, + start_date=None, + end_date=None, ) total_notifications, emails, sms = transform_results_into_totals(total_for_all_time) totals_for_date_range = get_total_notifications_for_date_range( - start_date=start_date, end_date=end_date, + start_date=start_date, + end_date=end_date, ) processing_time_results = get_processing_time_percentage_for_date_range( - start_date=start_date, end_date=end_date, + start_date=start_date, + end_date=end_date, ) services = get_live_services_with_organization() stats = { diff --git a/tests/app/dao/notification_dao/test_notification_dao.py b/tests/app/dao/notification_dao/test_notification_dao.py index feb380568..e0ca6cd47 100644 --- a/tests/app/dao/notification_dao/test_notification_dao.py +++ b/tests/app/dao/notification_dao/test_notification_dao.py @@ -644,7 +644,10 @@ def test_get_all_notifications_for_job_by_status(sample_job): assert len(notifications(filter_dict={"status": status}).items) == 1 - assert len(notifications(filter_dict={"status": list(NotificationStatus)[:3]}).items) == 3 + assert ( + len(notifications(filter_dict={"status": list(NotificationStatus)[:3]}).items) + == 3 + ) def test_dao_get_notification_count_for_job_id(notify_db_session): diff --git a/tests/app/email_branding/test_rest.py b/tests/app/email_branding/test_rest.py index 08b65ede4..b406ec8be 100644 --- a/tests/app/email_branding/test_rest.py +++ b/tests/app/email_branding/test_rest.py @@ -244,10 +244,12 @@ def test_create_email_branding_reject_invalid_brand_type(admin_request): response = admin_request.post( "email_branding.create_email_branding", _data=data, _expected_status=400 ) - + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in BrandType] + ) assert ( response["errors"][0]["message"] - == f"brand_type NOT A TYPE is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in BrandType])}]" + == f"brand_type NOT A TYPE is not one of [{type_str}]" ) @@ -263,7 +265,10 @@ def test_update_email_branding_reject_invalid_brand_type( email_branding_id=email_branding.id, ) + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in BrandType] + ) assert ( response["errors"][0]["message"] - == f"brand_type NOT A TYPE is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in BrandType])}]" + == f"brand_type NOT A TYPE is not one of [{type_str}]" ) diff --git a/tests/app/service/test_service_data_retention_rest.py b/tests/app/service/test_service_data_retention_rest.py index 9e429736d..f0cff358c 100644 --- a/tests/app/service/test_service_data_retention_rest.py +++ b/tests/app/service/test_service_data_retention_rest.py @@ -127,9 +127,15 @@ def test_create_service_data_retention_returns_400_when_notification_type_is_inv json_resp = json.loads(response.get_data(as_text=True)) assert response.status_code == 400 assert json_resp["errors"][0]["error"] == "ValidationError" + type_str = ", ".join( + [ + f"<{type(e).__name__}.{e.name}: {e.value}>" + for e in (NotificationType.SMS, NotificationType.EMAIL) + ] + ) assert ( json_resp["errors"][0]["message"] - == f"notification_type unknown is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in (NotificationType.SMS, NotificationType.EMAIL)])}]" + == f"notification_type unknown is not one of [{type_str}]" ) diff --git a/tests/app/v2/notifications/test_get_notifications.py b/tests/app/v2/notifications/test_get_notifications.py index 695302f15..5941c73bf 100644 --- a/tests/app/v2/notifications/test_get_notifications.py +++ b/tests/app/v2/notifications/test_get_notifications.py @@ -408,9 +408,12 @@ def test_get_all_notifications_filter_by_template_type_invalid_template_type( assert json_response["status_code"] == 400 assert len(json_response["errors"]) == 1 + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in TemplateType] + ) assert ( json_response["errors"][0]["message"] - == f"template_type orange is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in TemplateType])}]" + == f"template_type orange is not one of [{type_str}]" ) @@ -461,9 +464,12 @@ def test_get_all_notifications_filter_by_status_invalid_status( assert json_response["status_code"] == 400 assert len(json_response["errors"]) == 1 + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in NotificationStatus] + ) assert ( json_response["errors"][0]["message"] - == f"status elephant is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in NotificationStatus])}]" + == f"status elephant is not one of [{type_str}]" ) diff --git a/tests/app/v2/notifications/test_notification_schemas.py b/tests/app/v2/notifications/test_notification_schemas.py index b3b0d6dc4..253faeaae 100644 --- a/tests/app/v2/notifications/test_notification_schemas.py +++ b/tests/app/v2/notifications/test_notification_schemas.py @@ -43,7 +43,10 @@ def test_get_notifications_valid_json(input): ], ) def test_get_notifications_request_invalid_statuses(invalid_statuses, valid_statuses): - partial_error_status = f"is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in NotificationStatus])}]" + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in NotificationStatus] + ) + partial_error_status = f"is not one of [{type_str}]" with pytest.raises(ValidationError) as e: validate( @@ -70,7 +73,10 @@ def test_get_notifications_request_invalid_statuses(invalid_statuses, valid_stat def test_get_notifications_request_invalid_template_types( invalid_template_types, valid_template_types ): - partial_error_template_type = f"is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in TemplateType])}]" + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in TemplateType] + ) + partial_error_template_type = f"is not one of [{type_str}]" with pytest.raises(ValidationError) as e: validate( @@ -101,15 +107,18 @@ def test_get_notifications_request_invalid_statuses_and_template_types(): assert len(errors) == 4 error_messages = [error["message"] for error in errors] + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in NotificationStatus] + ) for invalid_status in ["elephant", "giraffe"]: - assert ( - f"status {invalid_status} is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in NotificationStatus])}]" - in error_messages - ) + assert f"status {invalid_status} is not one of [{type_str}]" in error_messages + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in TemplateType] + ) for invalid_template_type in ["orange", "avocado"]: assert ( - f"template_type {invalid_template_type} is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in TemplateType])}]" + f"template_type {invalid_template_type} is not one of [{type_str}]" in error_messages ) diff --git a/tests/app/v2/templates/test_get_templates.py b/tests/app/v2/templates/test_get_templates.py index c43120754..f2b7d11a0 100644 --- a/tests/app/v2/templates/test_get_templates.py +++ b/tests/app/v2/templates/test_get_templates.py @@ -116,11 +116,14 @@ def test_get_all_templates_for_invalid_type_returns_400(client, sample_service): json_response = json.loads(response.get_data(as_text=True)) + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in TemplateType] + ) assert json_response == { "status_code": 400, "errors": [ { - "message": f"type coconut is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in TemplateType])}]", + "message": f"type coconut is not one of [{type_str}]", "error": "ValidationError", } ], diff --git a/tests/app/v2/templates/test_templates_schemas.py b/tests/app/v2/templates/test_templates_schemas.py index 74006be62..418770f5d 100644 --- a/tests/app/v2/templates/test_templates_schemas.py +++ b/tests/app/v2/templates/test_templates_schemas.py @@ -278,10 +278,10 @@ def test_get_all_template_request_schema_against_invalid_args_is_invalid(templat assert errors["status_code"] == 400 assert len(errors["errors"]) == 1 - assert ( - errors["errors"][0]["message"] - == f"type unknown is not one of [{', '.join([f'<{type(e).__name__}.{e.name}: {e.value}>'for e in TemplateType])}]" + type_str = ", ".join( + [f"<{type(e).__name__}.{e.name}: {e.value}>" for e in TemplateType] ) + assert errors["errors"][0]["message"] == f"type unknown is not one of [{type_str}]" @pytest.mark.parametrize("response", valid_json_get_all_response)