mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-08 17:23:13 -04:00
Merge pull request #196 from alphagov/get-users-for-service
Get users for service
This commit is contained in:
@@ -29,10 +29,11 @@ fake_users = [
|
|||||||
@main.route("/services/<service_id>/users")
|
@main.route("/services/<service_id>/users")
|
||||||
@login_required
|
@login_required
|
||||||
def manage_users(service_id):
|
def manage_users(service_id):
|
||||||
|
users = user_api_client.get_users_for_service(service_id=service_id)
|
||||||
return render_template(
|
return render_template(
|
||||||
'views/manage-users.html',
|
'views/manage-users.html',
|
||||||
service_id=service_id,
|
service_id=service_id,
|
||||||
users=fake_users,
|
users=users,
|
||||||
current_user=current_user,
|
current_user=current_user,
|
||||||
invited_users=[]
|
invited_users=[]
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -81,6 +81,11 @@ class UserApiClient(BaseAPIClient):
|
|||||||
return False, 'Code not found'
|
return False, 'Code not found'
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
def get_users_for_service(self, service_id):
|
||||||
|
endpoint = '/service/{}/users'.format(service_id)
|
||||||
|
resp = self.get(endpoint)
|
||||||
|
return resp['data']
|
||||||
|
|
||||||
|
|
||||||
class User(UserMixin):
|
class User(UserMixin):
|
||||||
def __init__(self, fields, max_failed_login_count=3):
|
def __init__(self, fields, max_failed_login_count=3):
|
||||||
|
|||||||
@@ -26,13 +26,13 @@ Manage users – GOV.UK Notify
|
|||||||
users, caption='Active', **table_options
|
users, caption='Active', **table_options
|
||||||
) %}
|
) %}
|
||||||
{% call field() %}
|
{% call field() %}
|
||||||
{{ current_user.name }}
|
{{ item.name }}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{{ boolean_field(item.permission_send_messages) }}
|
{{ boolean_field(item.permission_send_messages) }}
|
||||||
{{ boolean_field(item.permission_manage_service) }}
|
{{ boolean_field(item.permission_manage_service) }}
|
||||||
{{ boolean_field(item.permission_manage_api_keys) }}
|
{{ boolean_field(item.permission_manage_api_keys) }}
|
||||||
{% call field(align='right') %}
|
{% call field(align='right') %}
|
||||||
<a href="{{ url_for('.edit_user', service_id=service_id, user_id=0)}}">Change</a>
|
<a href="{{ url_for('.edit_user', service_id=service_id, user_id=item.id)}}">Change</a>
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ def test_should_show_overview_page(
|
|||||||
app_,
|
app_,
|
||||||
api_user_active,
|
api_user_active,
|
||||||
mock_login,
|
mock_login,
|
||||||
mock_get_service
|
mock_get_service,
|
||||||
|
mock_get_users_by_service
|
||||||
):
|
):
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
@@ -15,6 +16,7 @@ def test_should_show_overview_page(
|
|||||||
|
|
||||||
assert 'Manage team' in response.get_data(as_text=True)
|
assert 'Manage team' in response.get_data(as_text=True)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
mock_get_users_by_service.assert_called_once_with(service_id='55555')
|
||||||
|
|
||||||
|
|
||||||
def test_should_show_page_for_one_user(
|
def test_should_show_page_for_one_user(
|
||||||
@@ -35,7 +37,8 @@ def test_redirect_after_saving_user(
|
|||||||
app_,
|
app_,
|
||||||
api_user_active,
|
api_user_active,
|
||||||
mock_login,
|
mock_login,
|
||||||
mock_get_service
|
mock_get_service,
|
||||||
|
mock_get_users_by_service
|
||||||
):
|
):
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
@@ -69,7 +72,8 @@ def test_invite_user(
|
|||||||
app_,
|
app_,
|
||||||
api_user_active,
|
api_user_active,
|
||||||
mock_login,
|
mock_login,
|
||||||
mock_get_service
|
mock_get_service,
|
||||||
|
mock_get_users_by_service
|
||||||
):
|
):
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
|
|||||||
@@ -510,3 +510,19 @@ def mock_get_jobs(mocker):
|
|||||||
data.append(job_data)
|
data.append(job_data)
|
||||||
return {"data": data}
|
return {"data": data}
|
||||||
return mocker.patch('app.job_api_client.get_job', side_effect=_get_jobs)
|
return mocker.patch('app.job_api_client.get_job', side_effect=_get_jobs)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope='function')
|
||||||
|
def mock_get_users_by_service(mocker):
|
||||||
|
def _get_users_for_service(service_id):
|
||||||
|
data = [{'id': 1,
|
||||||
|
'logged_in_at': None,
|
||||||
|
'mobile_number': '+447700900986',
|
||||||
|
'permissions': [],
|
||||||
|
'state': 'active',
|
||||||
|
'password_changed_at': None,
|
||||||
|
'name': 'Test User',
|
||||||
|
'email_address': 'notify@digital.cabinet-office.gov.uk',
|
||||||
|
'failed_login_count': 0}]
|
||||||
|
return data
|
||||||
|
return mocker.patch('app.user_api_client.get_users_for_service', side_effect=_get_users_for_service, autospec=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user