From d3caaf94b1b2752b9b30b38c0745d88960bd0593 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Tue, 23 Apr 2019 10:42:37 +0100 Subject: [PATCH] Make archive/suspend links not buttons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit They don’t immediately perform an action, so semantically they are links, not buttons. --- app/templates/views/service-settings.html | 29 ++++++++++--------- .../test_service_setting_permissions.py | 27 ++++++++++++----- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index ec7cec666..3332474f3 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -353,26 +353,29 @@ {% endcall %} - +

{% endif %} diff --git a/tests/app/main/views/service_settings/test_service_setting_permissions.py b/tests/app/main/views/service_settings/test_service_setting_permissions.py index 7f656e66a..ff3f327e9 100644 --- a/tests/app/main/views/service_settings/test_service_setting_permissions.py +++ b/tests/app/main/views/service_settings/test_service_setting_permissions.py @@ -92,16 +92,29 @@ def test_service_setting_toggles_show(get_service_settings_page, service_one, se assert normalize_spaces(page.find('a', {'href': button_url}).find_parent('tr').text.strip()) == text -@pytest.mark.parametrize('service_fields, endpoint, kwargs, text', [ - ({'active': True}, '.archive_service', {}, 'Archive service'), - ({'active': True}, '.suspend_service', {}, 'Suspend service'), - ({'active': False}, '.resume_service', {}, 'Resume service'), +@pytest.mark.parametrize('service_fields, endpoint, index, text', [ + ({'active': True}, '.archive_service', 0, 'Archive service'), + ({'active': True}, '.suspend_service', 1, 'Suspend service'), + ({'active': False}, '.resume_service', 0, 'Resume service'), + pytest.param( + {'active': False}, '.archive_service', 1, 'Resume service', + marks=pytest.mark.xfail(raises=IndexError) + ) ]) -def test_service_setting_button_toggles(get_service_settings_page, service_one, service_fields, endpoint, kwargs, text): - button_url = url_for(endpoint, **kwargs, service_id=service_one['id']) +def test_service_setting_button_toggles( + get_service_settings_page, + service_one, + service_fields, + endpoint, + index, + text, +): + button_url = url_for(endpoint, service_id=service_one['id']) service_one.update(service_fields) page = get_service_settings_page() - assert normalize_spaces(page.find('a', {'class': 'button', 'href': button_url}).text.strip()) == text + link = page.select('.page-footer-delete-link a')[index] + assert normalize_spaces(link.text) == text + assert link['href'] == button_url @pytest.mark.parametrize('permissions,permissions_text,visible', [