Template statistics now surfaced on dashboard.

Job list removed.

Template statistics retrieved at same time as
notification stats.
This commit is contained in:
Adam Shimali
2016-04-05 11:40:13 +01:00
parent ff3dd857ec
commit 159fe60c1a
12 changed files with 158 additions and 24 deletions

View File

@@ -338,6 +338,7 @@ def test_new_invited_user_verifies_and_added_to_service(app_,
mock_get_service,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_template_statistics,
mock_get_jobs,
mock_has_permissions):

View File

@@ -1,5 +1,7 @@
from flask import url_for
from tests import validate_route_permission
from tests.conftest import SERVICE_ONE_ID
def test_should_show_recent_jobs_on_dashboard(app_,
@@ -7,20 +9,22 @@ def test_should_show_recent_jobs_on_dashboard(app_,
mock_get_service,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_template_statistics,
mock_get_user,
mock_get_user_by_email,
mock_login,
mock_get_jobs,
mock_has_permissions):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
response = client.get(url_for('main.service_dashboard', service_id=123))
response = client.get(url_for('main.service_dashboard', service_id=SERVICE_ONE_ID))
assert response.status_code == 200
text = response.get_data(as_text=True)
assert 'Test Service' in text
mock_get_service_statistics.assert_called_once_with(SERVICE_ONE_ID)
mock_get_template_statistics.assert_called_once_with(SERVICE_ONE_ID)
def _test_dashboard_menu(mocker, app_, usr, service, permissions):
@@ -37,7 +41,14 @@ def _test_dashboard_menu(mocker, app_, usr, service, permissions):
return client.get(url_for('main.service_dashboard', service_id=service['id']))
def test_menu_send_messages(mocker, app_, api_user_active, service_one, mock_get_service_templates, mock_get_jobs):
def test_menu_send_messages(mocker,
app_,
api_user_active,
service_one,
mock_get_service_templates,
mock_get_jobs,
mock_get_template_statistics):
with app_.test_request_context():
resp = _test_dashboard_menu(
mocker,
@@ -63,7 +74,13 @@ def test_menu_send_messages(mocker, app_, api_user_active, service_one, mock_get
assert url_for('main.show_all_services') not in page
def test_menu_manage_service(mocker, app_, api_user_active, service_one, mock_get_service_templates, mock_get_jobs):
def test_menu_manage_service(mocker,
app_,
api_user_active,
service_one,
mock_get_service_templates,
mock_get_jobs,
mock_get_template_statistics):
with app_.test_request_context():
resp = _test_dashboard_menu(
mocker,
@@ -89,7 +106,13 @@ def test_menu_manage_service(mocker, app_, api_user_active, service_one, mock_ge
assert url_for('main.show_all_services') not in page
def test_menu_manage_api_keys(mocker, app_, api_user_active, service_one, mock_get_service_templates, mock_get_jobs):
def test_menu_manage_api_keys(mocker,
app_,
api_user_active,
service_one,
mock_get_service_templates,
mock_get_jobs,
mock_get_template_statistics):
with app_.test_request_context():
resp = _test_dashboard_menu(
mocker,
@@ -114,8 +137,13 @@ def test_menu_manage_api_keys(mocker, app_, api_user_active, service_one, mock_g
assert url_for('main.api_keys', service_id=service_one['id']) in page
def test_menu_all_services_for_platform_admin_user(mocker, app_, platform_admin_user, service_one,
mock_get_service_templates, mock_get_jobs):
def test_menu_all_services_for_platform_admin_user(mocker,
app_,
platform_admin_user,
service_one,
mock_get_service_templates,
mock_get_jobs,
mock_get_template_statistics):
with app_.test_request_context():
resp = _test_dashboard_menu(
mocker,
@@ -130,8 +158,8 @@ def test_menu_all_services_for_platform_admin_user(mocker, app_, platform_admin_
assert url_for('main.manage_users', service_id=service_one['id']) in page
assert url_for('main.service_settings', service_id=service_one['id']) in page
assert url_for('main.view_notifications', service_id=service_one['id']) in page
assert url_for('main.view_jobs', 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.edit_service_template', service_id=service_one['id'], template_id=1) in page
def test_route_for_service_permissions(mocker,
@@ -142,7 +170,8 @@ def test_route_for_service_permissions(mocker,
mock_get_user,
mock_get_service_templates,
mock_get_jobs,
mock_get_service_statistics):
mock_get_service_statistics,
mock_get_template_statistics):
routes = [
'main.service_dashboard']
with app_.test_request_context():

View File

@@ -15,11 +15,12 @@ def test_sign_out_user(app_,
api_user_active,
mock_get_user,
mock_get_user_by_email,
mock_login,
mock_get_service_templates,
mock_get_service_statistics,
mock_login,
mock_get_jobs,
mock_has_permissions):
mock_has_permissions,
mock_get_template_statistics):
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)

View File

@@ -783,7 +783,24 @@ def mock_remove_user_from_service(mocker):
@pytest.fixture(scope='function')
def mock_get_service_statistics(mocker):
def mock_get_template_statistics(mocker, service_one):
import uuid
template = template_json(service_one['id'], 1, "Test template", "sms", "Something very interesting")
data = {
"usage_count": 1,
"template": {
"name": template['name'],
"template_type": template['template_type'],
"id": template['id']
},
"service": template['service'],
"id": str(uuid.uuid4()),
"day": "2016-04-04"
}
def _get_stats(service_id):
return [data]
return mocker.patch(
'app.statistics_api_client.get_statistics_for_service',
return_value={'data': [{}]})
'app.template_statistics_client.get_template_statistics_for_service', side_effect=_get_stats)