mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-25 08:44:23 -04:00
Fix adding a service when organisation is unknown
An ‘unknown’ organisation can either be: - one where we know it exists but don’t know much about it (in which case the API returns some JSON with the info we do know) - one we’ve never come across (in which case the API will return `None`) This commit fixes a bug where we were trying to access the organisation type in the latter case.
This commit is contained in:
@@ -25,7 +25,11 @@ class Organisation(JSONModel):
|
|||||||
super().__init__(_dict)
|
super().__init__(_dict)
|
||||||
|
|
||||||
if self._dict == {}:
|
if self._dict == {}:
|
||||||
self.name, self.crown, self.agreement_signed, self.domains = None, None, None, []
|
self.name = None
|
||||||
|
self.crown = None
|
||||||
|
self.agreement_signed = None
|
||||||
|
self.domains = []
|
||||||
|
self.organisation_type = None
|
||||||
|
|
||||||
def as_human_readable(self, fallback_domain):
|
def as_human_readable(self, fallback_domain):
|
||||||
if 'dwp.' in ''.join(self.domains):
|
if 'dwp.' in ''.join(self.domains):
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import pytest
|
|||||||
from flask import session, url_for
|
from flask import session, url_for
|
||||||
|
|
||||||
from app.utils import is_gov_user
|
from app.utils import is_gov_user
|
||||||
|
from tests import organisation_json
|
||||||
from tests.conftest import mock_get_organisation_by_domain
|
from tests.conftest import mock_get_organisation_by_domain
|
||||||
|
|
||||||
|
|
||||||
@@ -18,10 +19,19 @@ def test_non_gov_user_cannot_see_add_service_button(
|
|||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('org_json', (
|
||||||
|
None,
|
||||||
|
organisation_json(organisation_type=None),
|
||||||
|
))
|
||||||
def test_get_should_render_add_service_template(
|
def test_get_should_render_add_service_template(
|
||||||
client_request,
|
client_request,
|
||||||
mock_get_organisation_by_domain,
|
mocker,
|
||||||
|
org_json,
|
||||||
):
|
):
|
||||||
|
mocker.patch(
|
||||||
|
'app.organisations_client.get_organisation_by_domain',
|
||||||
|
return_value=org_json,
|
||||||
|
)
|
||||||
page = client_request.get('main.add_service')
|
page = client_request.get('main.add_service')
|
||||||
assert page.select_one('h1').text.strip() == 'About your service'
|
assert page.select_one('h1').text.strip() == 'About your service'
|
||||||
assert page.select_one('input[name=name]')['value'] == ''
|
assert page.select_one('input[name=name]')['value'] == ''
|
||||||
|
|||||||
Reference in New Issue
Block a user