From ab956c9eb3eba28a41235fe4f619c9c8f0a3dddf Mon Sep 17 00:00:00 2001 From: Katie Smith Date: Mon, 8 Jun 2020 13:45:22 +0100 Subject: [PATCH] Update JSON schema postage validation for new values --- app/schema_validation/__init__.py | 4 ++-- tests/app/service/test_rest.py | 3 ++- tests/app/template/test_rest.py | 3 ++- tests/app/v2/notifications/test_post_letter_notifications.py | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/schema_validation/__init__.py b/app/schema_validation/__init__.py index e1995f528..0ddd51f16 100644 --- a/app/schema_validation/__init__.py +++ b/app/schema_validation/__init__.py @@ -34,8 +34,8 @@ def validate_schema_email_address(instance): @format_checker.checks('postage', raises=ValidationError) def validate_schema_postage(instance): if isinstance(instance, str): - if instance not in ["first", "second"]: - raise ValidationError("invalid. It must be either first or second.") + if instance not in ["first", "second", "europe", "rest-of-world"]: + raise ValidationError("invalid. It must be first, second, europe or rest-of-world.") return True diff --git a/tests/app/service/test_rest.py b/tests/app/service/test_rest.py index 159e45117..bd1183110 100644 --- a/tests/app/service/test_rest.py +++ b/tests/app/service/test_rest.py @@ -2340,7 +2340,8 @@ def test_create_pdf_letter(mocker, sample_service_full_permissions, client, fake {"postage": "third", "filename": "string", "created_by": "string", "file_id": "string", "recipient_address": "Some Address"}, [ - {'error': 'ValidationError', 'message': 'postage invalid. It must be either first or second.'} + {'error': 'ValidationError', + 'message': 'postage invalid. It must be first, second, europe or rest-of-world.'} ] ) ]) diff --git a/tests/app/template/test_rest.py b/tests/app/template/test_rest.py index 1ed7905e8..17e97d037 100644 --- a/tests/app/template/test_rest.py +++ b/tests/app/template/test_rest.py @@ -794,7 +794,8 @@ def test_create_a_template_with_foreign_service_reply_to(admin_request, sample_u {"name": "my template", "template_type": "sms", "content": "hi", "postage": "third", "service": "1af43c02-b5a8-4923-ad7f-5279b75ff2d0", "created_by": "30587644-9083-44d8-a114-98887f07f1e3"}, [ - {"error": "ValidationError", "message": "postage invalid. It must be either first or second."}, + {"error": "ValidationError", + "message": "postage invalid. It must be first, second, europe or rest-of-world."}, ] ), ]) diff --git a/tests/app/v2/notifications/test_post_letter_notifications.py b/tests/app/v2/notifications/test_post_letter_notifications.py index 7d748caa1..c87afcdc2 100644 --- a/tests/app/v2/notifications/test_post_letter_notifications.py +++ b/tests/app/v2/notifications/test_post_letter_notifications.py @@ -637,7 +637,7 @@ def test_post_letter_notification_throws_error_for_invalid_postage(client, notif assert response.status_code == 400, response.get_data(as_text=True) resp_json = json.loads(response.get_data(as_text=True)) - assert resp_json['errors'][0]['message'] == "postage invalid. It must be either first or second." + assert resp_json['errors'][0]['message'] == "postage invalid. It must be first, second, europe or rest-of-world." assert not Notification.query.first()