From 1b96a13565c6c6aa22e438a1f25ae3446f4ac8b3 Mon Sep 17 00:00:00 2001 From: Ben Thorner Date: Thu, 26 May 2022 18:34:27 +0100 Subject: [PATCH] Add xfail tests for go-live reply-to/sender check This represents a bug where a user can request to go live without setting a reply-to email address or SMS sender despite the service having one or more email or SMS templates, respectively. We will make these tests pass in the next commit. --- tests/app/models/test_service.py | 44 +++++++++++++++++++++++++++++++- tests/conftest.py | 12 ++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/tests/app/models/test_service.py b/tests/app/models/test_service.py index e143e2603..f7ea179d6 100644 --- a/tests/app/models/test_service.py +++ b/tests/app/models/test_service.py @@ -6,7 +6,7 @@ from app.models.organisation import Organisation from app.models.service import Service from app.models.user import User from tests import organisation_json, service_json -from tests.conftest import ORGANISATION_ID +from tests.conftest import ORGANISATION_ID, create_folder, create_template INV_PARENT_FOLDER_ID = '7e979e79-d970-43a5-ac69-b625a8d147b0' INV_CHILD_1_FOLDER_ID = '92ee1ee0-e4ee-4dcc-b1a7-a5da9ebcfa2b' @@ -265,3 +265,45 @@ def test_service_billing_details(purchase_order_number, expected_result): service = Service(service_json(purchase_order_number=purchase_order_number)) service._dict['purchase_order_number'] = purchase_order_number assert service.billing_details == expected_result + + +@pytest.mark.xfail +def test_has_email_templates_includes_folders( + mocker, + service_one, + mock_get_template_folders, +): + mocker.patch( + 'app.service_api_client.get_service_templates', + return_value={'data': [create_template( + folder='something', template_type='email' + )]} + ) + + mocker.patch( + 'app.template_folder_api_client.get_template_folders', + return_value=[create_folder(id='something')] + ) + + assert Service(service_one).has_email_templates + + +@pytest.mark.xfail +def test_has_sms_templates_includes_folders( + mocker, + service_one, + mock_get_template_folders, +): + mocker.patch( + 'app.service_api_client.get_service_templates', + return_value={'data': [create_template( + folder='something', template_type='sms' + )]} + ) + + mocker.patch( + 'app.template_folder_api_client.get_template_folders', + return_value=[create_folder(id='something')] + ) + + assert Service(service_one).has_sms_templates diff --git a/tests/conftest.py b/tests/conftest.py index 5f01240c8..305e6f873 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3982,6 +3982,14 @@ def create_notifications( ) +def create_folder(id): + return { + 'id': id, + 'parent_id': None, + 'name': 'My folder' + } + + def create_template( service_id=SERVICE_ONE_ID, template_id=None, @@ -3990,7 +3998,8 @@ def create_template( content='Template content', subject='Template subject', redact_personalisation=False, - postage=None + postage=None, + folder=None ): return template_json( service_id=service_id, @@ -4001,6 +4010,7 @@ def create_template( subject=subject, redact_personalisation=redact_personalisation, postage=postage, + folder=folder, )