Merge pull request #3057 from alphagov/new_org_types_part_1

Introduce new org types
This commit is contained in:
Pea (Malgorzata Tyczynska)
2019-07-22 15:56:31 +01:00
committed by GitHub
10 changed files with 112 additions and 39 deletions

View File

@@ -90,7 +90,12 @@ def test_page_to_create_new_organisation(
('text', 'name', ''),
('radio', 'organisation_type', 'central'),
('radio', 'organisation_type', 'local'),
('radio', 'organisation_type', 'nhs'),
('radio', 'organisation_type', 'nhs_central'),
('radio', 'organisation_type', 'nhs_local'),
('radio', 'organisation_type', 'nhs_local'),
('radio', 'organisation_type', 'emergency_service'),
('radio', 'organisation_type', 'school_or_college'),
('radio', 'organisation_type', 'other'),
('radio', 'crown_status', 'crown'),
('radio', 'crown_status', 'non-crown'),
('hidden', 'csrf_token', ANY),
@@ -275,7 +280,12 @@ def test_organisation_settings_for_platform_admin(
(
('central', 'Central government'),
('local', 'Local government'),
('nhs', 'NHS'),
('nhs_central', 'NHS central government agency or public body'),
('nhs_local', 'NHS Trust or Clinical Commissioning Group'),
('nhs_local', 'GP practice'),
('emergency_service', 'Emergency service'),
('school_or_college', 'School or college'),
('other', 'Other'),
),
None,
),
@@ -358,8 +368,8 @@ def test_view_organisation_settings(
),
(
'.edit_organisation_type',
{'organisation_type': 'nhs'},
{'organisation_type': 'nhs'},
{'organisation_type': 'nhs_local'},
{'organisation_type': 'nhs_local'},
),
(
'.edit_organisation_crown_status',

View File

@@ -41,14 +41,24 @@ def test_get_should_render_add_service_template(
] == [
'Central government',
'Local government',
'NHS',
'NHS central government agency or public body',
'NHS Trust or Clinical Commissioning Group',
'GP practice',
'Emergency service',
'School or college',
'Other',
]
assert [
radio['value'] for radio in page.select('.multiple-choice input')
] == [
'central',
'local',
'nhs',
'nhs_central',
'nhs_local',
'nhs_local',
'emergency_service',
'school_or_college',
'other',
]
@@ -71,8 +81,12 @@ def test_get_should_not_render_radios_if_org_type_known(
@pytest.mark.parametrize('inherited, posted, persisted, sms_limit', (
(None, 'central', 'central', 250000),
('central', None, 'central', 250000),
('nhs', None, 'nhs', 25000),
('nhs_central', None, 'nhs_central', 250000),
('nhs_local', None, 'nhs_local', 25000),
('local', None, 'local', 25000),
('emergency_service', None, 'emergency_service', 25000),
('school_or_college', None, 'school_or_college', 25000),
('other', None, 'other', 25000),
('central', 'local', 'central', 250000),
))
def test_should_add_service_and_redirect_to_tour_when_no_services(
@@ -163,20 +177,11 @@ def test_add_service_has_to_choose_org_type(
'test@nhs.uk',
'test@example.NhS.uK',
'test@EXAMPLE.NHS.NET',
pytest.param(
'test@not-nhs.uk',
marks=pytest.mark.xfail(raises=AssertionError)
)
))
def test_add_service_guesses_org_type_for_unknown_nhs_orgs(
mocker,
def test_get_should_only_show_nhs_org_types_radios_if_user_has_nhs_email(
client_request,
mock_create_service,
mock_create_service_template,
mock_get_services_with_no_services,
mocker,
api_user_active,
mock_create_or_update_free_sms_fragment_limit,
mock_get_all_email_branding,
email_address,
):
api_user_active['email_address'] = email_address
@@ -185,17 +190,33 @@ def test_add_service_guesses_org_type_for_unknown_nhs_orgs(
'app.organisations_client.get_organisation_by_domain',
return_value=None,
)
client_request.post(
'main.add_service',
_data={'name': 'example'},
)
assert mock_create_service.call_args[1]['organisation_type'] == 'nhs'
page = client_request.get('main.add_service')
assert page.select_one('h1').text.strip() == 'About your service'
assert page.select_one('input[name=name]')['value'] == ''
assert [
label.text.strip() for label in page.select('.multiple-choice label')
] == [
'NHS central government agency or public body',
'NHS Trust or Clinical Commissioning Group',
'GP practice',
]
assert [
radio['value'] for radio in page.select('.multiple-choice input')
] == [
'nhs_central',
'nhs_local',
'nhs_local',
]
@pytest.mark.parametrize('organisation_type, free_allowance', [
('central', 250 * 1000),
('local', 25 * 1000),
('nhs', 25 * 1000),
('nhs_central', 250 * 1000),
('nhs_local', 25 * 1000),
('school_or_college', 25 * 1000),
('emergency_service', 25 * 1000),
('other', 25 * 1000),
])
def test_should_add_service_and_redirect_to_dashboard_when_existing_service(
app_,

View File

@@ -900,7 +900,7 @@ def test_should_not_show_go_live_button_if_checklist_not_complete(
),
pytest.param(
1,
None,
'central',
99,
[{'is_default': True, 'sms_sender': 'GOVUK'}],
'',
@@ -931,14 +931,14 @@ def test_should_not_show_go_live_button_if_checklist_not_complete(
),
(
1,
'local',
'nhs_local',
0,
[],
'Change your text message sender name Not completed',
),
(
None,
'local',
'school_or_college',
1,
[{'is_default': True, 'sms_sender': 'GOVUK'}],
'Change your text message sender name Not completed',
@@ -955,7 +955,7 @@ def test_should_not_show_go_live_button_if_checklist_not_complete(
),
(
None,
'nhs',
'nhs_local',
1,
[{'is_default': True, 'sms_sender': 'KUVOG'}],
'Change your text message sender name Completed',