From a200f1a17ef7266eb2a707d56e694c7495b44769 Mon Sep 17 00:00:00 2001 From: Ken Tsang Date: Thu, 8 Feb 2018 16:18:18 +0000 Subject: [PATCH] Go to organisation stub page which will eventually show list of services --- app/main/views/organisations.py | 12 ++++++++++ .../views/organisations/organisations.html | 2 +- .../organisations/view-organisation.html | 23 ++++++++++++++++++ tests/app/main/views/test_organisations.py | 24 +++++++++++++++++-- 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 app/templates/views/organisations/view-organisation.html diff --git a/app/main/views/organisations.py b/app/main/views/organisations.py index 013dbcd4a..118d2940d 100644 --- a/app/main/views/organisations.py +++ b/app/main/views/organisations.py @@ -19,6 +19,18 @@ def organisations(): ) +@main.route("/organisation/", methods=['GET']) +@login_required +@user_has_permissions(admin_override=True) +def view_organisation(org_id): + org = organisations_client.get_organisation(org_id) + + return render_template( + 'views/organisations/view-organisation.html', + organisation=org + ) + + @main.route("/organisation//edit", methods=['GET', 'POST']) @login_required @user_has_permissions(admin_override=True) diff --git a/app/templates/views/organisations/organisations.html b/app/templates/views/organisations/organisations.html index 9e29b2d58..96c164912 100644 --- a/app/templates/views/organisations/organisations.html +++ b/app/templates/views/organisations/organisations.html @@ -18,7 +18,7 @@
{% for org in organisations %}
- {{ org['name'] }} + {{ org['name'] }} {% if not org['active'] %} - archived {% endif %} diff --git a/app/templates/views/organisations/view-organisation.html b/app/templates/views/organisations/view-organisation.html new file mode 100644 index 000000000..bcb7ce474 --- /dev/null +++ b/app/templates/views/organisations/view-organisation.html @@ -0,0 +1,23 @@ +{% extends "views/platform-admin/_base_template.html" %} +{% from "components/page-footer.html" import page_footer %} + +{% block per_page_title %} + {{ organisation['name'] }} +{% endblock %} + +{% block service_page_title %} + {{ organisation['name'] }} +{% endblock %} + +{% block platform_admin_content %} + +

+
{{ organisation['name'] }}
+

+
+
+ [List of services] +
+
+ +{% endblock %} diff --git a/tests/app/main/views/test_organisations.py b/tests/app/main/views/test_organisations.py index 746a5a035..5978cef92 100644 --- a/tests/app/main/views/test_organisations.py +++ b/tests/app/main/views/test_organisations.py @@ -31,12 +31,32 @@ def test_organisation_page_shows_all_organisations( ) == "Organisations" for index, org in enumerate(orgs): - assert (page.select('a.browse-list-link')[index]).text == org['name'] + assert page.select('a.browse-list-link')[index].text == org['name'] if not org['active']: - assert (page.select_one('.table-field-status-default,heading-medium')).text == '- archived' + assert page.select_one('.table-field-status-default,heading-medium').text == '- archived' assert normalize_spaces((page.select('a.browse-list-link')[-1]).text) == 'Create an organisation' +def test_view_organisation_shows_the_correct_organisation( + logged_in_platform_admin_client, + fake_uuid, + mocker +): + org = {'id': fake_uuid, 'name': 'Test 1', 'active': True} + mocker.patch( + 'app.organisations_client.get_organisation', return_value=org + ) + + response = logged_in_platform_admin_client.get( + url_for('.view_organisation', org_id=fake_uuid) + ) + + assert response.status_code == 200 + page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') + + assert page.select_one('.heading-large div').text == org['name'] + + def test_edit_organisation_shows_the_correct_organisation( logged_in_platform_admin_client, fake_uuid,