def test_view_organisation_domains( mocker, client_request, fake_uuid, user, ): client_request.login(user) mocker.patch( 'app.organisations_client.get_organisation', side_effect=lambda org_id: organisation_json( org_id, 'Org 1', domains=['example.gov.uk', 'test.example.gov.uk'], ) ) page = client_request.get( 'main.edit_organisation_domains', org_id=ORGANISATION_ID, ) assert [textbox['value'] for textbox in page.select('input[type=text]')] == [ 'example.gov.uk', 'test.example.gov.uk', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ]
def test_show_confirm_agreement_page( client_request, mocker, mock_get_service_organisation, name, email, expected_paragraph, ): mocker.patch( 'app.models.organisation.organisations_client.get_organisation', return_value=organisation_json( agreement_signed_version='1.2', agreement_signed_on_behalf_of_name=name, agreement_signed_on_behalf_of_email_address=email, )) page = client_request.get('main.service_confirm_agreement', service_id=SERVICE_ONE_ID) assert normalize_spaces( page.select_one('main p').text) == expected_paragraph
def test_organisation_name_goes_into_cache(mocker, service_one): mocker.patch( 'app.extensions.RedisClient.get', return_value=None, ) mock_redis_set = mocker.patch('app.extensions.RedisClient.set', ) mocker.patch( 'app.organisations_client.get_organisation', return_value=organisation_json(), ) service = Service(service_one) service._dict['organisation'] = ORGANISATION_ID assert service.organisation_name == 'Test Organisation' mock_redis_set.assert_called_once_with( f'organisation-{ORGANISATION_ID}-name', '"Test Organisation"', ex=604800, )
def test_show_agreement_page( client_request, mocker, fake_uuid, mock_has_jobs, agreement_signed, crown, expected_links, ): org = organisation_json(crown=crown, agreement_signed=agreement_signed) mocker.patch('app.organisations_client.get_service_organisation', return_value=org) page = client_request.get('main.service_agreement', service_id=SERVICE_ONE_ID) links = page.select('main .column-five-sixths a') assert len(links) == len(expected_links) for index, link in enumerate(links): classes, url = expected_links[index] assert link.get('class', []) == classes assert link['href'] == url()
def test_download_service_agreement( logged_in_client, mocker, mock_get_service_organisation, crown, expected_status, expected_file_fetched, expected_file_served, ): mocker.patch( 'app.models.organisation.organisations_client.get_organisation', return_value=organisation_json( crown=crown ) ) mock_get_s3_object = mocker.patch( 'app.s3_client.s3_mou_client.get_s3_object', return_value=_MockS3Object(b'foo') ) response = logged_in_client.get(url_for( 'main.service_download_agreement', service_id=SERVICE_ONE_ID, )) assert response.status_code == expected_status if expected_file_served: assert response.get_data() == b'foo' assert response.headers['Content-Type'] == 'application/pdf' assert response.headers['Content-Disposition'] == ( 'attachment; filename="{}"'.format(expected_file_served) ) mock_get_s3_object.assert_called_once_with('test-mou', expected_file_fetched) else: assert not expected_file_fetched assert mock_get_s3_object.called is False
def test_confirm_agreement_page_persists( client_request, mocker, mock_update_organisation, fake_uuid, ): mocker.patch( 'app.models.organisation.organisations_client.get_service_organisation', return_value=organisation_json(agreement_signed_version='1.2')) client_request.post( 'main.service_confirm_agreement', service_id=SERVICE_ONE_ID, _expected_redirect=url_for( 'main.request_to_go_live', service_id=SERVICE_ONE_ID, _external=True, ), ) mock_update_organisation.assert_called_once_with( '1234', agreement_signed=True, agreement_signed_at='2012-01-01 01:01:00', agreement_signed_by_id=fake_uuid, )
mock_get_non_govuser, api_nongov_user_active, mock_get_organisations, mock_get_organisations_and_services_for_user, ): client.login(api_nongov_user_active) response = client.get(url_for("main.choose_account")) assert "Add a new service" not in response.get_data(as_text=True) assert response.status_code == 200 @pytest.mark.parametrize( "org_json", ( None, organisation_json(organisation_type=None), ), ) def test_get_should_render_add_service_template( client_request, mocker, org_json, ): mocker.patch( "app.organisations_client.get_organisation_by_domain", return_value=org_json, ) page = client_request.get("main.add_service") assert page.select_one("h1").text.strip() == "Name your service" assert page.select_one("input[name=name]")["value"] == "" assert [
def test_organisation_billing_details(purchase_order_number, expected_result): organisation = Organisation( organisation_json(purchase_order_number=purchase_order_number)) assert organisation.billing_details == expected_result
'.add_organisation', _data={ 'name': ".", 'organisation_type': 'local', 'crown_status': 'non-crown', }, _expected_status=200, ) assert mock_create_organisation.called is False assert page.find("span", {"class": "govuk-error-message"}) @pytest.mark.parametrize('organisation_type, organisation, expected_status', ( ('nhs_gp', None, 200), ('central', None, 403), ('nhs_gp', organisation_json(organisation_type='nhs_gp'), 403), )) def test_gps_can_create_own_organisations( client_request, mocker, mock_get_service_organisation, service_one, organisation_type, organisation, expected_status, ): mocker.patch('app.organisations_client.get_organisation', return_value=organisation) service_one['organisation_type'] = organisation_type page = client_request.get(