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.
This commit is contained in:
Ben Thorner
2022-05-26 18:34:27 +01:00
parent c6977b13a0
commit 1b96a13565
2 changed files with 54 additions and 2 deletions

View File

@@ -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

View File

@@ -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,
)