add get_active_services method

* all current invocations of get_services now call get_active_services
  EXCEPT for platform admin page (where we want to see inactive services
* cleaned up parameter names and unpacking (since *params is unhelpful)
* fixed incorrect kwarg name in conftest
This commit is contained in:
Leo Hemsted
2016-11-09 14:33:35 +00:00
parent b885ce9cf4
commit 08881e5bd1
7 changed files with 22 additions and 14 deletions

View File

@@ -68,7 +68,7 @@ def add_service():
service_name = form.name.data
service_id = _create_service(service_name, email_from)
if (len(service_api_client.get_services({'user_id': session['user_id']}).get('data', [])) > 1):
if (len(service_api_client.get_active_services({'user_id': session['user_id']}).get('data', [])) > 1):
return redirect(url_for('main.service_dashboard', service_id=service_id))
example_sms_template = service_api_client.create_service_template(

View File

@@ -12,7 +12,7 @@ def choose_service():
return render_template(
'views/choose-service.html',
services=[ServicesBrowsableItem(x) for x in
service_api_client.get_services({'user_id': current_user.id})['data']],
service_api_client.get_active_services({'user_id': current_user.id})['data']],
can_add_service=is_gov_user(current_user.email_address)
)
@@ -23,7 +23,7 @@ def show_all_services_or_dashboard():
if not current_user.is_authenticated:
return redirect(url_for('.index'))
services = service_api_client.get_services({'user_id': current_user.id})['data']
services = service_api_client.get_active_services({'user_id': current_user.id})['data']
if 1 == len(services):
return redirect(url_for('.service_dashboard', service_id=services[0]['id']))

View File

@@ -13,6 +13,7 @@ from app.statistics_utils import get_formatted_percentage
@login_required
@user_has_permissions(admin_override=True)
def platform_admin():
# specifically DO get inactive services
services = service_api_client.get_services({'detailed': True})['data']
return render_template(
'views/platform-admin.html',

View File

@@ -55,7 +55,7 @@ def sign_in():
user.is_active:
confirm_login()
services = service_api_client.get_services({'user_id': str(user.id)}).get('data', [])
services = service_api_client.get_active_services({'user_id': str(user.id)}).get('data', [])
if (len(services) == 1):
return redirect(url_for('main.service_dashboard', service_id=services[0]['id']))
else:

View File

@@ -26,7 +26,7 @@ def two_factor():
if form.validate_on_submit():
try:
user = user_api_client.get_user(user_id)
services = service_api_client.get_services({'user_id': str(user_id)}).get('data', [])
services = service_api_client.get_active_services({'user_id': str(user_id)}).get('data', [])
# Check if coming from new password page
if 'password' in session['user_details']:
user.set_password(session['user_details']['password'])

View File

@@ -57,11 +57,18 @@ class ServiceAPIClient(BaseAPIClient):
'/service/{0}'.format(service_id),
params=params)
def get_services(self, *params):
def get_services(self, params_dict=None):
"""
Retrieve a list of services.
"""
return self.get('/service', *params)
return self.get('/service', params=params_dict)
def get_active_services(self, params_dict=None):
"""
Retrieve a list of active services.
"""
params_dict['only_active'] = True
return self.get_services(params_dict)
def update_service(
self,

View File

@@ -187,7 +187,7 @@ def mock_get_services(mocker, fake_uuid, user=None):
if user is None:
user = active_user_with_permissions(fake_uuid)
def _create(user_id=None):
def _get_services(params_dict=None):
service_one = service_json(
SERVICE_ONE_ID, "service_one", [user.id], 1000, True, False)
service_two = service_json(
@@ -195,7 +195,7 @@ def mock_get_services(mocker, fake_uuid, user=None):
return {'data': [service_one, service_two]}
return mocker.patch(
'app.service_api_client.get_services', side_effect=_create)
'app.service_api_client.get_services', side_effect=_get_services)
@pytest.fixture(scope='function')
@@ -203,11 +203,11 @@ def mock_get_services_with_no_services(mocker, fake_uuid, user=None):
if user is None:
user = active_user_with_permissions(fake_uuid)
def _create(user_id=None):
def _get_services(params_dict=None):
return {'data': []}
return mocker.patch(
'app.service_api_client.get_services', side_effect=_create)
'app.service_api_client.get_services', side_effect=_get_services)
@pytest.fixture(scope='function')
@@ -215,13 +215,13 @@ def mock_get_services_with_one_service(mocker, fake_uuid, user=None):
if user is None:
user = api_user_active(fake_uuid)
def _create(user_id=None):
def _get_services(params_dict=None):
return {'data': [service_json(
SERVICE_ONE_ID, "service_one", [user.id], 1000, True, False
)]}
return mocker.patch(
'app.service_api_client.get_services', side_effect=_create)
'app.service_api_client.get_services', side_effect=_get_services)
@pytest.fixture(scope='function')
@@ -825,7 +825,7 @@ def mock_login(mocker, mock_get_user, mock_update_user, mock_events):
def _verify_code(user_id, code, code_type):
return True, ''
def _no_services(user_id=None):
def _no_services(params_dict=None):
return {'data': []}
return (