Merge pull request #994 from alphagov/remove-all-services

Remove ‘all services’ page
This commit is contained in:
Chris Hill-Scott
2016-10-31 10:13:49 +01:00
committed by GitHub
6 changed files with 11 additions and 65 deletions

View File

@@ -24,7 +24,6 @@ from app.main.views import (
api_keys,
manage_users,
invites,
all_services,
feedback,
providers,
platform_admin

View File

@@ -1,15 +0,0 @@
from flask import render_template
from flask_login import login_required
from app import service_api_client
from app.main import main
from app.utils import user_has_permissions
from app.notify_client.service_api_client import ServicesBrowsableItem
@main.route("/all-services")
@login_required
@user_has_permissions(None, admin_override=True)
def show_all_services():
services = [ServicesBrowsableItem(x) for x in service_api_client.get_services()['data']]
return render_template('views/all-services.html', services=services)

View File

@@ -42,7 +42,7 @@ def two_factor():
return redirect(next_url)
if current_user.platform_admin:
return redirect(url_for('main.show_all_services'))
return redirect(url_for('main.platform_admin'))
if len(services) == 1:
return redirect(url_for('main.service_dashboard', service_id=services[0]['id']))
else:

View File

@@ -4,6 +4,16 @@ import app
from app.utils import is_gov_user
def test_non_gov_user_cannot_see_add_service_button(client,
mock_login,
mock_get_non_govuser,
api_nongov_user_active):
client.login(api_nongov_user_active)
response = client.get(url_for('main.choose_service'))
assert 'Add a new service' not in response.get_data(as_text=True)
assert response.status_code == 200
def test_get_should_render_add_service_template(app_,
api_user_active,
mocker):

View File

@@ -1,45 +0,0 @@
from bs4 import BeautifulSoup
from flask import url_for
import app
def test_all_services_should_render_all_services_template(app_,
platform_admin_user,
service_one,
mocker):
with app_.test_request_context():
with app_.test_client() as client:
_login_user(client, mocker, platform_admin_user, service_one)
mocker.patch('app.service_api_client.get_services', return_value={'data': [service_one]})
response = client.get(url_for('main.show_all_services'))
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert page.h1.string.strip() == 'All services'
assert app.service_api_client.get_services.call_count == 1
def test_all_service_returns_403_when_not_a_platform_admin(app_,
active_user_with_permissions,
service_one,
mocker):
with app_.test_request_context():
with app_.test_client() as client:
_login_user(client, mocker, active_user_with_permissions, service_one)
response = client.get(url_for('main.show_all_services'))
assert response.status_code == 403
def test_non_gov_user_cannot_see_add_service_button(client,
mock_login,
mock_get_non_govuser,
api_nongov_user_active):
client.login(api_nongov_user_active)
response = client.get(url_for('main.choose_service'))
assert 'Add a new service' not in response.get_data(as_text=True)
assert response.status_code == 200
def _login_user(client, mocker, platform_admin_user, service_one):
mocker.patch('app.user_api_client.get_user', return_value=platform_admin_user)
client.login(platform_admin_user)

View File

@@ -338,7 +338,6 @@ def test_menu_send_messages(mocker,
assert url_for('main.service_settings', service_id=service_one['id']) not in page
assert url_for('main.api_keys', service_id=service_one['id']) not in page
assert url_for('main.show_all_services') not in page
assert url_for('main.view_providers') not in page
@@ -371,7 +370,6 @@ def test_menu_manage_service(mocker,
assert url_for('main.service_settings', service_id=service_one['id']) in page
assert url_for('main.api_keys', service_id=service_one['id']) not in page
assert url_for('main.show_all_services') not in page
def test_menu_manage_api_keys(mocker,
@@ -401,7 +399,6 @@ def test_menu_manage_api_keys(mocker,
template_type='sms') in page
assert url_for('main.manage_users', service_id=service_one['id']) in page
assert url_for('main.service_settings', service_id=service_one['id']) not in page
assert url_for('main.show_all_services') not in page
assert url_for('main.api_integration', service_id=service_one['id']) in page