diff --git a/app/models/service.py b/app/models/service.py index 9d1ca937b..3694d8487 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -284,13 +284,19 @@ class Service(JSONModel, SortByNameMixin): )) ) + def has_templates_of_type(self, template_type): + return any( + template for template in self.all_templates + if template['template_type'] == template_type + ) + @property def has_email_templates(self): - return len(self.get_templates('email')) > 0 + return self.has_templates_of_type('email') @property def has_sms_templates(self): - return len(self.get_templates('sms')) > 0 + return self.has_templates_of_type('sms') @property def intending_to_send_email(self): diff --git a/tests/app/models/test_service.py b/tests/app/models/test_service.py index f7ea179d6..908b49037 100644 --- a/tests/app/models/test_service.py +++ b/tests/app/models/test_service.py @@ -267,29 +267,7 @@ def test_service_billing_details(purchase_order_number, expected_result): 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( +def test_has_templates_of_type_includes_folders( mocker, service_one, mock_get_template_folders, @@ -306,4 +284,4 @@ def test_has_sms_templates_includes_folders( return_value=[create_folder(id='something')] ) - assert Service(service_one).has_sms_templates + assert Service(service_one).has_templates_of_type('sms')