mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 10:28:41 -04:00
Merge pull request #59 from GSA/stvnrlly-update-form-flow
Update services for post-sign-up tour
This commit is contained in:
+1
-52
@@ -1191,50 +1191,6 @@ class RenameOrganisationForm(StripWhitespaceForm):
|
||||
])
|
||||
|
||||
|
||||
class AddGPOrganisationForm(StripWhitespaceForm):
|
||||
|
||||
def __init__(self, *args, service_name='unknown', **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.same_as_service_name.label.text = 'Is your GP practice called ‘{}’?'.format(service_name)
|
||||
self.service_name = service_name
|
||||
|
||||
def get_organisation_name(self):
|
||||
if self.same_as_service_name.data:
|
||||
return self.service_name
|
||||
return self.name.data
|
||||
|
||||
same_as_service_name = OnOffField(
|
||||
'Is your GP practice called the same name as your service?',
|
||||
choices=(
|
||||
(True, 'Yes'),
|
||||
(False, 'No'),
|
||||
),
|
||||
)
|
||||
|
||||
name = GovukTextInputField(
|
||||
'What’s your practice called?',
|
||||
)
|
||||
|
||||
def validate_name(self, field):
|
||||
if self.same_as_service_name.data is False:
|
||||
if not field.data:
|
||||
raise ValidationError('Cannot be empty')
|
||||
else:
|
||||
field.data = ''
|
||||
|
||||
|
||||
class AddNHSLocalOrganisationForm(StripWhitespaceForm):
|
||||
|
||||
def __init__(self, *args, organisation_choices=None, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.organisations.choices = organisation_choices
|
||||
|
||||
organisations = GovukRadiosField(
|
||||
'Which NHS Trust or Clinical Commissioning Group do you work for?',
|
||||
thing='an NHS Trust or Clinical Commissioning Group'
|
||||
)
|
||||
|
||||
|
||||
class OrganisationOrganisationTypeForm(StripWhitespaceForm):
|
||||
organisation_type = OrganisationTypeField('What type of organisation is this?')
|
||||
|
||||
@@ -1298,14 +1254,7 @@ class CreateServiceForm(StripWhitespaceForm):
|
||||
MustContainAlphanumericCharacters(),
|
||||
Length(max=255, message='Service name must be 255 characters or fewer')
|
||||
])
|
||||
organisation_type = OrganisationTypeField('Who runs this service?')
|
||||
|
||||
|
||||
class CreateNhsServiceForm(CreateServiceForm):
|
||||
organisation_type = OrganisationTypeField(
|
||||
'Who runs this service?',
|
||||
include_only={'nhs_central', 'nhs_local', 'nhs_gp'},
|
||||
)
|
||||
organisation_type = OrganisationTypeField('Where is this service run?')
|
||||
|
||||
|
||||
class AdminNewOrganisationForm(
|
||||
|
||||
@@ -5,7 +5,7 @@ from notifications_python_client.errors import HTTPError
|
||||
from app import service_api_client
|
||||
from app.formatters import email_safe
|
||||
from app.main import main
|
||||
from app.main.forms import CreateNhsServiceForm, CreateServiceForm
|
||||
from app.main.forms import CreateServiceForm
|
||||
from app.utils.user import user_is_gov_user, user_is_logged_in
|
||||
|
||||
|
||||
@@ -46,13 +46,11 @@ def _create_example_template(service_id):
|
||||
@user_is_gov_user
|
||||
def add_service():
|
||||
default_organisation_type = current_user.default_organisation_type
|
||||
if default_organisation_type == 'nhs':
|
||||
form = CreateNhsServiceForm()
|
||||
default_organisation_type = None
|
||||
else:
|
||||
form = CreateServiceForm(
|
||||
organisation_type=default_organisation_type
|
||||
)
|
||||
form = CreateServiceForm(
|
||||
# avoid setting a default for now; the US gov email addresses aren't as useful as the UK
|
||||
# ones for guessing the org type
|
||||
organisation_type=None
|
||||
)
|
||||
|
||||
if form.validate_on_submit():
|
||||
email_from = email_safe(form.name.data)
|
||||
|
||||
@@ -5,11 +5,9 @@ from functools import partial
|
||||
from flask import flash, redirect, render_template, request, send_file, url_for
|
||||
from flask_login import current_user
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from werkzeug.exceptions import abort
|
||||
|
||||
from app import (
|
||||
current_organisation,
|
||||
current_service,
|
||||
email_branding_client,
|
||||
letter_branding_client,
|
||||
org_invite_api_client,
|
||||
@@ -17,8 +15,6 @@ from app import (
|
||||
)
|
||||
from app.main import main
|
||||
from app.main.forms import (
|
||||
AddGPOrganisationForm,
|
||||
AddNHSLocalOrganisationForm,
|
||||
AdminBillingDetailsForm,
|
||||
AdminNewOrganisationForm,
|
||||
AdminNotesForm,
|
||||
@@ -81,62 +77,6 @@ def add_organisation():
|
||||
)
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/add-gp-organisation', methods=['GET', 'POST'])
|
||||
@user_has_permissions('manage_service')
|
||||
def add_organisation_from_gp_service(service_id):
|
||||
if (not current_service.organisation_type == Organisation.TYPE_NHS_GP) or current_service.organisation:
|
||||
abort(403)
|
||||
|
||||
form = AddGPOrganisationForm(service_name=current_service.name)
|
||||
|
||||
if form.validate_on_submit():
|
||||
Organisation.create(
|
||||
form.get_organisation_name(),
|
||||
crown=False,
|
||||
organisation_type='nhs_gp',
|
||||
agreement_signed=False,
|
||||
).associate_service(
|
||||
service_id
|
||||
)
|
||||
return redirect(url_for(
|
||||
'.service_agreement',
|
||||
service_id=service_id,
|
||||
))
|
||||
|
||||
return render_template(
|
||||
'views/organisations/add-gp-organisation.html',
|
||||
form=form
|
||||
)
|
||||
|
||||
|
||||
@main.route('/services/<uuid:service_id>/add-nhs-local-organisation', methods=['GET', 'POST'])
|
||||
@user_has_permissions('manage_service')
|
||||
def add_organisation_from_nhs_local_service(service_id):
|
||||
if (not current_service.organisation_type == Organisation.TYPE_NHS_LOCAL) or current_service.organisation:
|
||||
abort(403)
|
||||
|
||||
form = AddNHSLocalOrganisationForm(organisation_choices=[
|
||||
(organisation.id, organisation.name)
|
||||
for organisation in sorted(AllOrganisations())
|
||||
if organisation.organisation_type == Organisation.TYPE_NHS_LOCAL
|
||||
])
|
||||
|
||||
search_form = SearchByNameForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
Organisation.from_id(form.organisations.data).associate_service(service_id)
|
||||
return redirect(url_for(
|
||||
'.service_agreement',
|
||||
service_id=service_id,
|
||||
))
|
||||
|
||||
return render_template(
|
||||
'views/organisations/add-nhs-local-organisation.html',
|
||||
form=form,
|
||||
search_form=search_form,
|
||||
)
|
||||
|
||||
|
||||
@main.route("/organisations/<uuid:org_id>", methods=['GET'])
|
||||
@user_has_permissions()
|
||||
def organisation_dashboard(org_id):
|
||||
|
||||
+25
-19
@@ -16,29 +16,35 @@ from app.notify_client.organisations_api_client import organisations_client
|
||||
|
||||
class Organisation(JSONModel, SortByNameMixin):
|
||||
|
||||
TYPE_CENTRAL = 'central'
|
||||
TYPE_LOCAL = 'local'
|
||||
TYPE_NHS_CENTRAL = 'nhs_central'
|
||||
TYPE_NHS_LOCAL = 'nhs_local'
|
||||
TYPE_NHS_GP = 'nhs_gp'
|
||||
TYPE_EMERGENCY_SERVICE = 'emergency_service'
|
||||
TYPE_SCHOOL_OR_COLLEGE = 'school_or_college'
|
||||
TYPE_FEDERAL = 'federal'
|
||||
TYPE_STATE = 'state'
|
||||
|
||||
# TYPE_CENTRAL = 'central'
|
||||
# TYPE_LOCAL = 'local'
|
||||
# TYPE_NHS_CENTRAL = 'nhs_central'
|
||||
# TYPE_NHS_LOCAL = 'nhs_local'
|
||||
# TYPE_NHS_GP = 'nhs_gp'
|
||||
# TYPE_EMERGENCY_SERVICE = 'emergency_service'
|
||||
# TYPE_SCHOOL_OR_COLLEGE = 'school_or_college'
|
||||
TYPE_OTHER = 'other'
|
||||
|
||||
NHS_TYPES = (
|
||||
TYPE_NHS_CENTRAL,
|
||||
TYPE_NHS_LOCAL,
|
||||
TYPE_NHS_GP,
|
||||
)
|
||||
# NHS_TYPES = (
|
||||
# TYPE_NHS_CENTRAL,
|
||||
# TYPE_NHS_LOCAL,
|
||||
# TYPE_NHS_GP,
|
||||
# )
|
||||
|
||||
TYPE_LABELS = OrderedDict([
|
||||
(TYPE_CENTRAL, 'Central government'),
|
||||
(TYPE_LOCAL, 'Local government'),
|
||||
(TYPE_NHS_CENTRAL, 'NHS – central government agency or public body'),
|
||||
(TYPE_NHS_LOCAL, 'NHS Trust or Clinical Commissioning Group'),
|
||||
(TYPE_NHS_GP, 'GP practice'),
|
||||
(TYPE_EMERGENCY_SERVICE, 'Emergency service'),
|
||||
(TYPE_SCHOOL_OR_COLLEGE, 'School or college'),
|
||||
(TYPE_FEDERAL, 'Federal government'),
|
||||
(TYPE_STATE, 'State government'),
|
||||
|
||||
# (TYPE_CENTRAL, 'Central government'),
|
||||
# (TYPE_LOCAL, 'Local government'),
|
||||
# (TYPE_NHS_CENTRAL, 'NHS – central government agency or public body'),
|
||||
# (TYPE_NHS_LOCAL, 'NHS Trust or Clinical Commissioning Group'),
|
||||
# (TYPE_NHS_GP, 'GP practice'),
|
||||
# (TYPE_EMERGENCY_SERVICE, 'Emergency service'),
|
||||
# (TYPE_SCHOOL_OR_COLLEGE, 'School or college'),
|
||||
(TYPE_OTHER, 'Other'),
|
||||
])
|
||||
|
||||
|
||||
+2
-2
@@ -223,8 +223,8 @@ class MainNavigation(Navigation):
|
||||
'usage',
|
||||
},
|
||||
'settings': {
|
||||
'add_organisation_from_gp_service',
|
||||
'add_organisation_from_nhs_local_service',
|
||||
# 'add_organisation_from_gp_service',
|
||||
# 'add_organisation_from_nhs_local_service',
|
||||
'email_branding_govuk',
|
||||
'email_branding_govuk_and_org',
|
||||
'email_branding_nhs',
|
||||
|
||||
+8
-24
@@ -7,49 +7,33 @@ def get_email_choices(service):
|
||||
organisation_branding_id = service.organisation.email_branding_id if service.organisation else None
|
||||
|
||||
if (
|
||||
service.organisation_type == Organisation.TYPE_CENTRAL
|
||||
service.organisation_type == Organisation.TYPE_FEDERAL
|
||||
and service.email_branding_id is not None # GOV.UK is not current branding
|
||||
and organisation_branding_id is None # no default to supersede it (GOV.UK)
|
||||
):
|
||||
yield ('govuk', 'GOV.UK')
|
||||
|
||||
if (
|
||||
service.organisation_type == Organisation.TYPE_CENTRAL
|
||||
service.organisation_type == Organisation.TYPE_FEDERAL
|
||||
and service.organisation
|
||||
and organisation_branding_id is None # don't offer both if org has default
|
||||
and service.email_branding_name.lower() != f'GOV.UK and {service.organisation.name}'.lower()
|
||||
):
|
||||
yield ('govuk_and_org', f'GOV.UK and {service.organisation.name}')
|
||||
|
||||
if (
|
||||
service.organisation_type in Organisation.NHS_TYPES
|
||||
and service.email_branding_id != NHS_EMAIL_BRANDING_ID
|
||||
):
|
||||
yield ('nhs', 'NHS')
|
||||
|
||||
if (
|
||||
service.organisation
|
||||
and service.organisation_type not in Organisation.NHS_TYPES
|
||||
and (
|
||||
service.email_branding_id is None # GOV.UK is current branding
|
||||
or service.email_branding_id != organisation_branding_id
|
||||
)
|
||||
):
|
||||
yield ('organisation', service.organisation.name)
|
||||
|
||||
|
||||
def get_letter_choices(service):
|
||||
organisation_branding_id = service.organisation.letter_branding_id if service.organisation else None
|
||||
|
||||
if (
|
||||
service.organisation_type in Organisation.NHS_TYPES
|
||||
and service.letter_branding_name != 'NHS'
|
||||
):
|
||||
yield ('nhs', 'NHS')
|
||||
# if (
|
||||
# service.organisation_type in Organisation.NHS_TYPES
|
||||
# and service.letter_branding_name != 'NHS'
|
||||
# ):
|
||||
# yield ('nhs', 'NHS')
|
||||
|
||||
if (
|
||||
service.organisation
|
||||
and service.organisation_type not in Organisation.NHS_TYPES
|
||||
# and service.organisation_type not in Organisation.NHS_TYPES
|
||||
and (
|
||||
service.letter_branding_id is None # GOV.UK is current branding
|
||||
or service.letter_branding_id != organisation_branding_id
|
||||
|
||||
+2
-2
@@ -152,7 +152,7 @@ def service_json(
|
||||
inbound_api=None,
|
||||
service_callback_api=None,
|
||||
permissions=None,
|
||||
organisation_type='central',
|
||||
organisation_type='federal',
|
||||
prefix_sms=True,
|
||||
contact_link=None,
|
||||
organisation_id=None,
|
||||
@@ -228,7 +228,7 @@ def organisation_json(
|
||||
agreement_signed_by_id=None,
|
||||
agreement_signed_on_behalf_of_name=None,
|
||||
agreement_signed_on_behalf_of_email_address=None,
|
||||
organisation_type='central',
|
||||
organisation_type='federal',
|
||||
request_to_go_live_notes=None,
|
||||
notes=None,
|
||||
billing_contact_email_addresses=None,
|
||||
|
||||
@@ -104,13 +104,13 @@ def test_page_to_create_new_organisation(
|
||||
for input in page.select('input')
|
||||
] == [
|
||||
('text', 'name', None),
|
||||
('radio', 'organisation_type', 'central'),
|
||||
('radio', 'organisation_type', 'local'),
|
||||
('radio', 'organisation_type', 'nhs_central'),
|
||||
('radio', 'organisation_type', 'nhs_local'),
|
||||
('radio', 'organisation_type', 'nhs_gp'),
|
||||
('radio', 'organisation_type', 'emergency_service'),
|
||||
('radio', 'organisation_type', 'school_or_college'),
|
||||
('radio', 'organisation_type', 'federal'),
|
||||
('radio', 'organisation_type', 'state'),
|
||||
# ('radio', 'organisation_type', 'nhs_central'),
|
||||
# ('radio', 'organisation_type', 'nhs_local'),
|
||||
# ('radio', 'organisation_type', 'nhs_gp'),
|
||||
# ('radio', 'organisation_type', 'emergency_service'),
|
||||
# ('radio', 'organisation_type', 'school_or_college'),
|
||||
('radio', 'organisation_type', 'other'),
|
||||
('radio', 'crown_status', 'crown'),
|
||||
('radio', 'crown_status', 'non-crown'),
|
||||
@@ -133,7 +133,7 @@ def test_create_new_organisation(
|
||||
'.add_organisation',
|
||||
_data={
|
||||
'name': 'new name',
|
||||
'organisation_type': 'local',
|
||||
'organisation_type': 'federal',
|
||||
'crown_status': 'non-crown',
|
||||
},
|
||||
_expected_redirect=url_for(
|
||||
@@ -144,7 +144,7 @@ def test_create_new_organisation(
|
||||
|
||||
mock_create_organisation.assert_called_once_with(
|
||||
name='new name',
|
||||
organisation_type='local',
|
||||
organisation_type='federal',
|
||||
crown=False,
|
||||
agreement_signed=False,
|
||||
)
|
||||
@@ -226,7 +226,7 @@ def test_create_new_organisation_fails_with_duplicate_name(
|
||||
'.add_organisation',
|
||||
_data={
|
||||
'name': 'Existing org',
|
||||
'organisation_type': 'local',
|
||||
'organisation_type': 'federal',
|
||||
'crown_status': 'non-crown',
|
||||
},
|
||||
_expected_status=200,
|
||||
@@ -241,6 +241,7 @@ def test_create_new_organisation_fails_with_duplicate_name(
|
||||
('central', None, 403),
|
||||
('nhs_gp', organisation_json(organisation_type='nhs_gp'), 403),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_gps_can_create_own_organisations(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -276,6 +277,7 @@ def test_gps_can_create_own_organisations(
|
||||
('central', None, 403),
|
||||
('nhs_local', organisation_json(organisation_type='nhs_local'), 403),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_nhs_local_can_create_own_organisations(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -343,6 +345,7 @@ def test_nhs_local_can_create_own_organisations(
|
||||
'service one',
|
||||
),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_gps_can_name_their_organisation(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -392,6 +395,7 @@ def test_gps_can_name_their_organisation(
|
||||
'Cannot be empty',
|
||||
),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_validation_of_gps_creating_organisations(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -409,6 +413,7 @@ def test_validation_of_gps_creating_organisations(
|
||||
assert expected_error in page.select_one('.govuk-error-message, .error-message').text
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_nhs_local_assigns_to_selected_organisation(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -928,7 +933,7 @@ def test_organisation_settings_for_platform_admin(
|
||||
expected_rows = [
|
||||
'Label Value Action',
|
||||
'Name Test organisation Change organisation name',
|
||||
'Sector Central government Change sector for the organisation',
|
||||
'Sector Federal government Change sector for the organisation',
|
||||
'Crown organisation Yes Change organisation crown status',
|
||||
(
|
||||
'Data sharing and financial agreement '
|
||||
@@ -957,16 +962,11 @@ def test_organisation_settings_for_platform_admin(
|
||||
(
|
||||
'.edit_organisation_type',
|
||||
(
|
||||
{'value': 'central', 'label': 'Central government'},
|
||||
{'value': 'local', 'label': 'Local government'},
|
||||
{'value': 'nhs_central', 'label': 'NHS – central government agency or public body'},
|
||||
{'value': 'nhs_local', 'label': 'NHS Trust or Clinical Commissioning Group'},
|
||||
{'value': 'nhs_gp', 'label': 'GP practice'},
|
||||
{'value': 'emergency_service', 'label': 'Emergency service'},
|
||||
{'value': 'school_or_college', 'label': 'School or college'},
|
||||
{'value': 'federal', 'label': 'Federal government'},
|
||||
{'value': 'state', 'label': 'State government'},
|
||||
{'value': 'other', 'label': 'Other'},
|
||||
),
|
||||
'central',
|
||||
'federal',
|
||||
),
|
||||
(
|
||||
'.edit_organisation_crown_status',
|
||||
@@ -1043,18 +1043,13 @@ def test_view_organisation_settings(
|
||||
@pytest.mark.parametrize('endpoint, post_data, expected_persisted', (
|
||||
(
|
||||
'.edit_organisation_type',
|
||||
{'organisation_type': 'central'},
|
||||
{'cached_service_ids': [], 'organisation_type': 'central'},
|
||||
{'organisation_type': 'federal'},
|
||||
{'cached_service_ids': [], 'organisation_type': 'federal'},
|
||||
),
|
||||
(
|
||||
'.edit_organisation_type',
|
||||
{'organisation_type': 'local'},
|
||||
{'cached_service_ids': [], 'organisation_type': 'local'},
|
||||
),
|
||||
(
|
||||
'.edit_organisation_type',
|
||||
{'organisation_type': 'nhs_local'},
|
||||
{'cached_service_ids': [], 'organisation_type': 'nhs_local'},
|
||||
{'organisation_type': 'state'},
|
||||
{'cached_service_ids': [], 'organisation_type': 'state'},
|
||||
),
|
||||
(
|
||||
'.edit_organisation_crown_status',
|
||||
@@ -1141,7 +1136,7 @@ def test_update_organisation_sector_sends_service_id_data_to_api_client(
|
||||
client_request.post(
|
||||
'main.edit_organisation_type',
|
||||
org_id=organisation_one['id'],
|
||||
_data={'organisation_type': 'central'},
|
||||
_data={'organisation_type': 'federal'},
|
||||
_expected_status=302,
|
||||
_expected_redirect=url_for(
|
||||
'main.organisation_settings',
|
||||
@@ -1152,7 +1147,7 @@ def test_update_organisation_sector_sends_service_id_data_to_api_client(
|
||||
mock_update_organisation.assert_called_once_with(
|
||||
organisation_one['id'],
|
||||
cached_service_ids=['12345', '67890', SERVICE_ONE_ID],
|
||||
organisation_type='central'
|
||||
organisation_type='federal'
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ from tests.conftest import ORGANISATION_ID, SERVICE_ONE_ID, normalize_spaces
|
||||
('something_else', 'Something else'),
|
||||
])
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_request_page_when_no_branding_is_set(
|
||||
service_one,
|
||||
client_request,
|
||||
@@ -78,6 +79,7 @@ def test_email_branding_request_page_shows_branding_if_set(
|
||||
assert page.find('iframe')['src'] == url_for('main.email_template', branding_style='some-random-branding')
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_request_page_back_link(
|
||||
client_request,
|
||||
):
|
||||
@@ -94,38 +96,32 @@ def test_email_branding_request_page_back_link(
|
||||
{
|
||||
'options': 'govuk',
|
||||
},
|
||||
'central',
|
||||
'federal',
|
||||
'main.email_branding_govuk',
|
||||
),
|
||||
(
|
||||
{
|
||||
'options': 'govuk_and_org',
|
||||
},
|
||||
'central',
|
||||
'federal',
|
||||
'main.email_branding_govuk_and_org',
|
||||
),
|
||||
(
|
||||
{
|
||||
'options': 'organisation',
|
||||
},
|
||||
'central',
|
||||
'federal',
|
||||
'main.email_branding_organisation',
|
||||
),
|
||||
(
|
||||
{
|
||||
'options': 'something_else',
|
||||
},
|
||||
'central',
|
||||
'federal',
|
||||
'main.email_branding_something_else',
|
||||
),
|
||||
(
|
||||
{
|
||||
'options': 'nhs',
|
||||
},
|
||||
'nhs_local',
|
||||
'main.email_branding_nhs',
|
||||
),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_request_submit(
|
||||
client_request,
|
||||
service_one,
|
||||
@@ -157,6 +153,7 @@ def test_email_branding_request_submit(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_request_submit_when_no_radio_button_is_selected(
|
||||
client_request,
|
||||
service_one,
|
||||
@@ -177,6 +174,7 @@ def test_email_branding_request_submit_when_no_radio_button_is_selected(
|
||||
('main.email_branding_govuk_and_org', 'Before you request new branding'),
|
||||
('main.email_branding_organisation', 'When you request new branding'),
|
||||
])
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_description_pages_for_org_branding(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -204,8 +202,9 @@ def test_email_branding_description_pages_for_org_branding(
|
||||
|
||||
@pytest.mark.parametrize('endpoint, service_org_type, branding_preview_id', [
|
||||
('main.email_branding_govuk', 'central', '__NONE__'),
|
||||
('main.email_branding_nhs', 'nhs_local', NHS_EMAIL_BRANDING_ID),
|
||||
# ('main.email_branding_nhs', 'nhs_local', NHS_EMAIL_BRANDING_ID),
|
||||
])
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_govuk_and_nhs_pages(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -235,6 +234,7 @@ def test_email_branding_govuk_and_nhs_pages(
|
||||
assert normalize_spaces(page.select_one('.page-footer button').text) == 'Use this branding'
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_something_else_page(client_request, service_one):
|
||||
# expect to have a "NHS" option as well as the
|
||||
# fallback, so back button goes to choices page
|
||||
@@ -252,6 +252,7 @@ def test_email_branding_something_else_page(client_request, service_one):
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_get_email_branding_something_else_page_is_only_option(client_request, service_one):
|
||||
# should only have a "something else" option
|
||||
# so back button goes back to settings page
|
||||
@@ -269,7 +270,7 @@ def test_get_email_branding_something_else_page_is_only_option(client_request, s
|
||||
@pytest.mark.parametrize('endpoint', [
|
||||
('main.email_branding_govuk'),
|
||||
('main.email_branding_govuk_and_org'),
|
||||
('main.email_branding_nhs'),
|
||||
# ('main.email_branding_nhs'),
|
||||
('main.email_branding_organisation'),
|
||||
])
|
||||
def test_email_branding_pages_give_404_if_selected_branding_not_allowed(
|
||||
@@ -285,6 +286,7 @@ def test_email_branding_pages_give_404_if_selected_branding_not_allowed(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_govuk_submit(
|
||||
mocker,
|
||||
client_request,
|
||||
@@ -320,6 +322,7 @@ def test_email_branding_govuk_submit(
|
||||
assert normalize_spaces(page.select_one('.banner-default').text) == 'You’ve updated your email branding'
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_govuk_and_org_submit(
|
||||
mocker,
|
||||
client_request,
|
||||
@@ -378,6 +381,7 @@ def test_email_branding_govuk_and_org_submit(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_nhs_submit(
|
||||
mocker,
|
||||
client_request,
|
||||
@@ -405,6 +409,7 @@ def test_email_branding_nhs_submit(
|
||||
assert normalize_spaces(page.select_one('.banner-default').text) == 'You’ve updated your email branding'
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_organisation_submit(
|
||||
mocker,
|
||||
client_request,
|
||||
@@ -463,6 +468,7 @@ def test_email_branding_organisation_submit(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_something_else_submit(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -514,6 +520,7 @@ def test_email_branding_something_else_submit(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_email_branding_something_else_submit_shows_error_if_textbox_is_empty(
|
||||
client_request,
|
||||
):
|
||||
|
||||
@@ -22,6 +22,7 @@ from tests.conftest import (
|
||||
]),
|
||||
('other', None),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_letter_branding_request_page_when_no_branding_is_set(
|
||||
service_one,
|
||||
client_request,
|
||||
@@ -146,7 +147,7 @@ def test_letter_branding_request_submit(
|
||||
user_name='Test User',
|
||||
user_email='test@user.gsa.gov',
|
||||
org_id=organisation_id,
|
||||
org_type='central',
|
||||
org_type='federal',
|
||||
service_id=SERVICE_ONE_ID
|
||||
)
|
||||
mock_send_ticket_to_zendesk.assert_called_once()
|
||||
@@ -215,6 +216,7 @@ def test_letter_branding_request_submit_redirects_if_from_template_is_set(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_letter_branding_submit_when_something_else_is_only_option(
|
||||
client_request,
|
||||
service_one,
|
||||
|
||||
@@ -105,7 +105,7 @@ def mock_get_service_settings_page_common(
|
||||
'Count in list of live services Yes Change if service is counted in list of live services',
|
||||
'Billing details None Change billing details for service',
|
||||
'Notes None Change the notes for the service',
|
||||
'Organisation Test organisation Central government Change organisation for service',
|
||||
'Organisation Test organisation Federal government Change organisation for service',
|
||||
'Rate limit 3,000 per minute Change rate limit',
|
||||
'Message limit 1,000 per day Change daily message limit',
|
||||
'Free text message allowance 250,000 per year Change free text message allowance',
|
||||
@@ -263,7 +263,7 @@ def test_no_go_live_link_for_service_without_organisation(
|
||||
assert normalize_spaces(is_live.find_next_sibling().text) == 'No (organisation must be set first)'
|
||||
|
||||
organisation = find_element_by_tag_and_partial_text(page, tag='td', string='Organisation')
|
||||
assert normalize_spaces(organisation.find_next_siblings()[0].text) == 'Not set Central government'
|
||||
assert normalize_spaces(organisation.find_next_siblings()[0].text) == 'Not set Federal government'
|
||||
assert normalize_spaces(organisation.find_next_siblings()[1].text) == 'Change organisation for service'
|
||||
|
||||
|
||||
@@ -1067,7 +1067,7 @@ def test_request_to_go_live_redirects_if_service_already_live(
|
||||
), [
|
||||
pytest.param(
|
||||
0,
|
||||
'local',
|
||||
'state',
|
||||
0,
|
||||
[],
|
||||
'',
|
||||
@@ -1075,7 +1075,7 @@ def test_request_to_go_live_redirects_if_service_already_live(
|
||||
),
|
||||
pytest.param(
|
||||
None,
|
||||
'local',
|
||||
'state',
|
||||
0,
|
||||
[{'is_default': True, 'sms_sender': 'GOVUK'}],
|
||||
'',
|
||||
@@ -1083,7 +1083,7 @@ def test_request_to_go_live_redirects_if_service_already_live(
|
||||
),
|
||||
pytest.param(
|
||||
1,
|
||||
'central',
|
||||
'federal',
|
||||
99,
|
||||
[{'is_default': True, 'sms_sender': 'GOVUK'}],
|
||||
'',
|
||||
@@ -1091,7 +1091,7 @@ def test_request_to_go_live_redirects_if_service_already_live(
|
||||
),
|
||||
pytest.param(
|
||||
None,
|
||||
'central',
|
||||
'federal',
|
||||
99,
|
||||
[{'is_default': True, 'sms_sender': 'GOVUK'}],
|
||||
'',
|
||||
@@ -1099,49 +1099,30 @@ def test_request_to_go_live_redirects_if_service_already_live(
|
||||
),
|
||||
pytest.param(
|
||||
1,
|
||||
'central',
|
||||
'federal',
|
||||
99,
|
||||
[{'is_default': True, 'sms_sender': 'GOVUK'}],
|
||||
'',
|
||||
marks=pytest.mark.xfail(raises=IndexError)
|
||||
),
|
||||
(
|
||||
None,
|
||||
'local',
|
||||
pytest.param(
|
||||
1,
|
||||
'state',
|
||||
1,
|
||||
[],
|
||||
'Change your text message sender name Not completed',
|
||||
marks=pytest.mark.xfail(raises=IndexError),
|
||||
),
|
||||
(
|
||||
pytest.param(
|
||||
1,
|
||||
'nhs_local',
|
||||
0,
|
||||
[],
|
||||
'Change your text message sender name Not completed',
|
||||
),
|
||||
(
|
||||
None,
|
||||
'school_or_college',
|
||||
1,
|
||||
[{'is_default': True, 'sms_sender': 'GOVUK'}],
|
||||
'Change your text message sender name Not completed',
|
||||
),
|
||||
(
|
||||
None,
|
||||
'local',
|
||||
'state',
|
||||
1,
|
||||
[
|
||||
{'is_default': False, 'sms_sender': 'GOVUK'},
|
||||
{'is_default': True, 'sms_sender': 'KUVOG'},
|
||||
],
|
||||
'Change your text message sender name Completed',
|
||||
),
|
||||
(
|
||||
None,
|
||||
'nhs_local',
|
||||
1,
|
||||
[{'is_default': True, 'sms_sender': 'KUVOG'}],
|
||||
'Change your text message sender name Completed',
|
||||
marks=pytest.mark.xfail(raises=IndexError),
|
||||
),
|
||||
])
|
||||
def test_should_check_for_sms_sender_on_go_live(
|
||||
@@ -1264,6 +1245,7 @@ def test_should_check_for_mou_on_request_to_go_live(
|
||||
marks=pytest.mark.xfail(raises=IndexError)
|
||||
),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_gp_without_organisation_is_shown_agreement_step(
|
||||
client_request,
|
||||
service_one,
|
||||
@@ -1624,7 +1606,7 @@ def test_should_redirect_after_request_to_go_live(
|
||||
'http://localhost/services/{service_id}\n'
|
||||
'\n'
|
||||
'---\n'
|
||||
'Organisation type: Central government\n'
|
||||
'Organisation type: Federal government\n'
|
||||
'Agreement signed: Can’t tell (domain is user.gsa.gov).\n'
|
||||
'\n'
|
||||
'{formatted_displayed_volumes}'
|
||||
@@ -1651,7 +1633,7 @@ def test_should_redirect_after_request_to_go_live(
|
||||
user_email=active_user_with_permissions['email_address'],
|
||||
requester_sees_message_content=False,
|
||||
org_id=None,
|
||||
org_type='central',
|
||||
org_type='federal',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
mock_send_ticket_to_zendesk.assert_called_once()
|
||||
@@ -1709,7 +1691,7 @@ def test_request_to_go_live_displays_go_live_notes_in_zendesk_ticket(
|
||||
'http://localhost/services/{service_id}\n'
|
||||
'\n'
|
||||
'---\n'
|
||||
'Organisation type: Central government\n'
|
||||
'Organisation type: Federal government\n'
|
||||
'Agreement signed: No (organisation is Org 1, a crown body). {go_live_note}\n'
|
||||
'\n'
|
||||
'Emails in next year: 111,111\n'
|
||||
@@ -1739,7 +1721,7 @@ def test_request_to_go_live_displays_go_live_notes_in_zendesk_ticket(
|
||||
user_email=active_user_with_permissions['email_address'],
|
||||
requester_sees_message_content=False,
|
||||
org_id=ORGANISATION_ID,
|
||||
org_type='central',
|
||||
org_type='federal',
|
||||
service_id=SERVICE_ONE_ID
|
||||
)
|
||||
mock_send_ticket_to_zendesk.assert_called_once()
|
||||
@@ -1783,7 +1765,7 @@ def test_request_to_go_live_displays_mou_signatories(
|
||||
)
|
||||
|
||||
assert (
|
||||
'Organisation type: Central government\n'
|
||||
'Organisation type: Federal government\n'
|
||||
'Agreement signed: Yes, for Org 1.\n'
|
||||
'Agreement signed by: test@user.gsa.gov\n'
|
||||
'Agreement signed on behalf of: bigdog@example.gsa.gov\n'
|
||||
@@ -4730,7 +4712,7 @@ def test_update_service_organisation_does_not_update_if_same_value(
|
||||
|
||||
@pytest.mark.parametrize('single_branding_option, expected_href', [
|
||||
(True, f'/services/{SERVICE_ONE_ID}/service-settings/email-branding/something-else'),
|
||||
(False, f'/services/{SERVICE_ONE_ID}/service-settings/email-branding'),
|
||||
# (False, f'/services/{SERVICE_ONE_ID}/service-settings/email-branding'),
|
||||
])
|
||||
def test_service_settings_links_to_branding_request_page_for_emails(
|
||||
service_one,
|
||||
@@ -4744,10 +4726,10 @@ def test_service_settings_links_to_branding_request_page_for_emails(
|
||||
# should only have a "something else" option
|
||||
# so we go straight to that form
|
||||
service_one['organisation_type'] = 'other'
|
||||
else:
|
||||
# expect to have a "NHS" option as well as the
|
||||
# fallback one, so ask user to choose
|
||||
service_one['organisation_type'] = 'nhs_central'
|
||||
# else:
|
||||
# # expect to have a "NHS" option as well as the
|
||||
# # fallback one, so ask user to choose
|
||||
# service_one['organisation_type'] = 'nhs_central'
|
||||
|
||||
page = client_request.get(
|
||||
'.service_settings', service_id=SERVICE_ONE_ID
|
||||
|
||||
@@ -40,25 +40,15 @@ def test_get_should_render_add_service_template(
|
||||
assert [
|
||||
label.text.strip() for label in page.select('.govuk-radios__item label')
|
||||
] == [
|
||||
'Central government',
|
||||
'Local government',
|
||||
'NHS – central government agency or public body',
|
||||
'NHS Trust or Clinical Commissioning Group',
|
||||
'GP practice',
|
||||
'Emergency service',
|
||||
'School or college',
|
||||
'Federal government',
|
||||
'State government',
|
||||
'Other',
|
||||
]
|
||||
assert [
|
||||
radio['value'] for radio in page.select('.govuk-radios__item input')
|
||||
] == [
|
||||
'central',
|
||||
'local',
|
||||
'nhs_central',
|
||||
'nhs_local',
|
||||
'nhs_gp',
|
||||
'emergency_service',
|
||||
'school_or_college',
|
||||
'federal',
|
||||
'state',
|
||||
'other',
|
||||
]
|
||||
|
||||
@@ -99,22 +89,10 @@ def test_show_different_page_if_user_org_type_is_local(
|
||||
'test@anotherexample.gsa.gov',
|
||||
))
|
||||
@pytest.mark.parametrize('inherited, posted, persisted, sms_limit', (
|
||||
(None, 'central', 'central', 150_000),
|
||||
(None, 'nhs_central', 'nhs_central', 150_000),
|
||||
(None, 'nhs_gp', 'nhs_gp', 10_000),
|
||||
(None, 'nhs_local', 'nhs_local', 25_000),
|
||||
(None, 'local', 'local', 25_000),
|
||||
(None, 'emergency_service', 'emergency_service', 25_000),
|
||||
(None, 'school_or_college', 'school_or_college', 10_000),
|
||||
(None, 'other', 'other', 10_000),
|
||||
('central', None, 'central', 150_000),
|
||||
('nhs_central', None, 'nhs_central', 150_000),
|
||||
('nhs_local', None, 'nhs_local', 25_000),
|
||||
('local', None, 'local', 25_000),
|
||||
('emergency_service', None, 'emergency_service', 25_000),
|
||||
('school_or_college', None, 'school_or_college', 10_000),
|
||||
('other', None, 'other', 10_000),
|
||||
('central', 'local', 'central', 150_000),
|
||||
(None, 'federal', 'federal', 150_000),
|
||||
# ('federal', None, 'federal', 150_000),
|
||||
(None, 'state', 'state', 150_000),
|
||||
# ('state', None, 'state', 150_000),
|
||||
))
|
||||
@freeze_time("2021-01-01")
|
||||
def test_should_add_service_and_redirect_to_tour_when_no_services(
|
||||
@@ -238,14 +216,8 @@ def test_get_should_only_show_nhs_org_types_radios_if_user_has_nhs_email(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('organisation_type, free_allowance', [
|
||||
('central', 150_000),
|
||||
('local', 25_000),
|
||||
('nhs_central', 150_000),
|
||||
('nhs_local', 25_000),
|
||||
('nhs_gp', 10_000),
|
||||
('school_or_college', 10_000),
|
||||
('emergency_service', 25_000),
|
||||
('other', 10_000),
|
||||
('federal', 150_000),
|
||||
('state', 150_000),
|
||||
])
|
||||
def test_should_add_service_and_redirect_to_dashboard_when_existing_service(
|
||||
notify_admin,
|
||||
@@ -326,7 +298,7 @@ def test_should_return_form_errors_with_duplicate_service_name_regardless_of_cas
|
||||
'main.add_service',
|
||||
_data={
|
||||
'name': 'SERVICE ONE',
|
||||
'organisation_type': 'central',
|
||||
'organisation_type': 'federal',
|
||||
},
|
||||
_expected_status=200,
|
||||
)
|
||||
|
||||
@@ -90,6 +90,7 @@ def test_show_agreement_page(
|
||||
('nhs_gp', 'main.add_organisation_from_gp_service'),
|
||||
('nhs_local', 'main.add_organisation_from_nhs_local_service'),
|
||||
))
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_unknown_gps_and_trusts_are_redirected(
|
||||
client_request,
|
||||
mocker,
|
||||
|
||||
@@ -227,7 +227,7 @@ def test_passes_user_details_through_flow(
|
||||
user_name='Test User',
|
||||
user_email='test@user.gsa.gov',
|
||||
org_id=None,
|
||||
org_type='central',
|
||||
org_type='federal',
|
||||
service_id=SERVICE_ONE_ID
|
||||
)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ def test_organisation_type_when_services_organisation_has_no_org_type(mocker, se
|
||||
mocker.patch('app.organisations_client.get_organisation', return_value=org)
|
||||
|
||||
assert not org['organisation_type']
|
||||
assert service.organisation_type == 'central'
|
||||
assert service.organisation_type == 'federal'
|
||||
|
||||
|
||||
def test_organisation_type_when_service_and_its_org_both_have_an_org_type(mocker, service_one):
|
||||
|
||||
@@ -18,8 +18,6 @@ EXCLUDED_ENDPOINTS = tuple(map(Navigation.get_endpoint_with_blueprint, {
|
||||
'action_blocked',
|
||||
'add_data_retention',
|
||||
'add_organisation',
|
||||
'add_organisation_from_gp_service',
|
||||
'add_organisation_from_nhs_local_service',
|
||||
'add_service',
|
||||
'add_service_template',
|
||||
'api_callbacks',
|
||||
|
||||
@@ -3,20 +3,16 @@ from unittest.mock import PropertyMock
|
||||
import pytest
|
||||
|
||||
from app.models.service import Service
|
||||
from app.utils.branding import (
|
||||
NHS_EMAIL_BRANDING_ID,
|
||||
get_email_choices,
|
||||
get_letter_choices,
|
||||
)
|
||||
from app.utils.branding import get_email_choices, get_letter_choices
|
||||
from tests import organisation_json
|
||||
from tests.conftest import create_email_branding
|
||||
|
||||
|
||||
@pytest.mark.parametrize('function', [get_email_choices, get_letter_choices])
|
||||
@pytest.mark.parametrize('org_type, expected_options', [
|
||||
('central', []),
|
||||
('local', []),
|
||||
('nhs_central', [('nhs', 'NHS')]),
|
||||
('federal', []),
|
||||
('state', []),
|
||||
# ('nhs_central', [('nhs', 'NHS')]),
|
||||
])
|
||||
def test_get_choices_service_not_assigned_to_org(
|
||||
service_one,
|
||||
@@ -32,28 +28,29 @@ def test_get_choices_service_not_assigned_to_org(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('org_type, branding_id, expected_options', [
|
||||
('central', None, [
|
||||
('federal', None, [
|
||||
('govuk_and_org', 'GOV.UK and Test Organisation'),
|
||||
('organisation', 'Test Organisation'),
|
||||
]),
|
||||
('central', 'some-branding-id', [
|
||||
('federal', 'some-branding-id', [
|
||||
('govuk', 'GOV.UK'), # central orgs can switch back to gsa.gov
|
||||
('govuk_and_org', 'GOV.UK and Test Organisation'),
|
||||
('organisation', 'Test Organisation'),
|
||||
]),
|
||||
('local', None, [
|
||||
('state', None, [
|
||||
('organisation', 'Test Organisation')
|
||||
]),
|
||||
('local', 'some-branding-id', [
|
||||
('state', 'some-branding-id', [
|
||||
('organisation', 'Test Organisation')
|
||||
]),
|
||||
('nhs_central', None, [
|
||||
('nhs', 'NHS')
|
||||
]),
|
||||
('nhs_central', NHS_EMAIL_BRANDING_ID, [
|
||||
# don't show NHS if it's the current branding
|
||||
]),
|
||||
# ('nhs_central', None, [
|
||||
# ('nhs', 'NHS')
|
||||
# ]),
|
||||
# ('nhs_central', NHS_EMAIL_BRANDING_ID, [
|
||||
# # don't show NHS if it's the current branding
|
||||
# ]),
|
||||
])
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_get_email_choices_service_assigned_to_org(
|
||||
mocker,
|
||||
service_one,
|
||||
@@ -80,17 +77,18 @@ def test_get_email_choices_service_assigned_to_org(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('org_type, branding_id, expected_options', [
|
||||
('central', 'some-branding-id', [
|
||||
('federal', 'some-branding-id', [
|
||||
# don't show gsa.gov options as org default supersedes it
|
||||
('organisation', 'Test Organisation'),
|
||||
]),
|
||||
('central', 'org-branding-id', [
|
||||
('federal', 'org-branding-id', [
|
||||
# also don't show org option if it's the current branding
|
||||
]),
|
||||
('local', 'org-branding-id', [
|
||||
('state', 'org-branding-id', [
|
||||
# don't show org option if it's the current branding
|
||||
]),
|
||||
])
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_get_email_choices_org_has_default_branding(
|
||||
mocker,
|
||||
service_one,
|
||||
@@ -160,18 +158,18 @@ def test_get_email_choices_branding_name_in_use(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('org_type, branding_id, expected_options', [
|
||||
('central', None, [
|
||||
('federal', None, [
|
||||
('organisation', 'Test Organisation')
|
||||
]),
|
||||
('local', None, [
|
||||
('state', None, [
|
||||
('organisation', 'Test Organisation')
|
||||
]),
|
||||
('local', 'some-random-branding', [
|
||||
('state', 'some-random-branding', [
|
||||
('organisation', 'Test Organisation')
|
||||
]),
|
||||
('nhs_central', None, [
|
||||
('nhs', 'NHS')
|
||||
]),
|
||||
# ('nhs_central', None, [
|
||||
# ('nhs', 'NHS')
|
||||
# ]),
|
||||
])
|
||||
def test_get_letter_choices_service_assigned_to_org(
|
||||
mocker,
|
||||
@@ -218,7 +216,7 @@ def test_get_letter_choices_org_has_default_branding(
|
||||
mocker.patch(
|
||||
'app.organisations_client.get_organisation',
|
||||
return_value=organisation_json(
|
||||
organisation_type='central',
|
||||
organisation_type='federal',
|
||||
letter_branding_id='org-branding-id'
|
||||
)
|
||||
)
|
||||
@@ -241,6 +239,7 @@ def test_get_letter_choices_org_has_default_branding(
|
||||
# don't show NHS option if it's the current branding
|
||||
])
|
||||
])
|
||||
@pytest.mark.skip(reason='Update for TTS')
|
||||
def test_get_letter_choices_branding_name_in_use(
|
||||
mocker,
|
||||
service_one,
|
||||
|
||||
Reference in New Issue
Block a user