Merge branch 'master' into remove-stats-from-send

This commit is contained in:
Leo Hemsted
2016-07-29 11:08:42 +01:00
16 changed files with 127 additions and 96 deletions

View File

@@ -311,7 +311,6 @@ def test_new_invited_user_verifies_and_added_to_service(app_,
mock_accept_invite,
mock_get_service,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_template_statistics,
mock_get_jobs,
mock_has_permissions,

View File

@@ -65,7 +65,6 @@ def test_get_started(
api_user_active,
mock_get_service,
mock_get_service_templates_when_no_templates_exist,
mock_get_service_statistics,
mock_get_aggregate_service_statistics,
mock_get_user,
mock_get_user_by_email,
@@ -95,7 +94,6 @@ def test_get_started_is_hidden_once_templates_exist(
api_user_active,
mock_get_service,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_aggregate_service_statistics,
mock_get_user,
mock_get_user_by_email,
@@ -166,7 +164,6 @@ def test_should_show_all_templates_on_template_statistics_page(
api_user_active,
mock_get_service,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_user,
mock_get_user_by_email,
mock_login,
@@ -207,7 +204,6 @@ def test_should_show_recent_jobs_on_dashboard(
api_user_active,
mock_get_service,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_aggregate_service_statistics,
mock_get_user,
mock_get_user_by_email,
@@ -253,7 +249,6 @@ def _test_dashboard_menu(mocker, app_, usr, service, permissions):
mocker.patch('app.user_api_client.get_user', return_value=usr)
mocker.patch('app.user_api_client.get_user_by_email', return_value=usr)
mocker.patch('app.service_api_client.get_service', return_value={'data': service})
mocker.patch('app.statistics_api_client.get_statistics_for_service', return_value={'data': [{}]})
client.login(usr)
return client.get(url_for('main.service_dashboard', service_id=service['id']))
@@ -392,7 +387,6 @@ def test_route_for_service_permissions(mocker,
mock_get_user,
mock_get_service_templates,
mock_get_jobs,
mock_get_service_statistics,
mock_get_template_statistics,
mock_get_detailed_service,
mock_get_usage):
@@ -435,7 +429,6 @@ def test_service_dashboard_updates_gets_dashboard_totals(mocker,
mock_get_template_statistics,
mock_get_detailed_service,
mock_get_jobs,
mock_get_service_statistics,
mock_get_usage):
dashboard_totals = mocker.patch('app.main.views.dashboard.get_dashboard_totals', return_value={
'email': {'requested': 123, 'delivered': 0, 'failed': 0},

View File

@@ -1,12 +1,13 @@
import json
from urllib.parse import quote
import pytest
from flask import url_for
from bs4 import BeautifulSoup
import json
from app.utils import generate_notifications_csv
from app.main.views.jobs import get_time_left
from tests import (notification_json, job_json)
from tests.conftest import fake_uuid
from tests.conftest import mock_get_job as mock_get_job1
from app.main.views.jobs import get_time_left, get_status_filters
from tests import notification_json
from freezegun import freeze_time
@@ -57,7 +58,6 @@ def test_should_show_page_for_one_job(
service_one,
active_user_with_permissions,
mock_get_service_template,
mock_get_service_statistics,
mock_get_job,
mocker,
mock_get_notifications,
@@ -111,7 +111,6 @@ def test_should_show_not_show_csv_download_in_tour(
service_one,
active_user_with_permissions,
mock_get_service_template,
mock_get_service_statistics,
mock_get_job,
mocker,
mock_get_notifications,
@@ -147,7 +146,6 @@ def test_should_show_updates_for_one_job_as_json(
service_one,
active_user_with_permissions,
mock_get_notifications,
mock_get_service_statistics,
mock_get_job,
mocker,
fake_uuid
@@ -203,7 +201,7 @@ def test_can_show_notifications(
service_one,
active_user_with_permissions,
mock_get_notifications,
mock_get_service_statistics,
mock_get_detailed_service,
mocker,
message_type,
page_title,
@@ -263,7 +261,7 @@ def test_should_show_notifications_for_a_service_with_next_previous(
service_one,
active_user_with_permissions,
mock_get_notifications_with_previous_next,
mock_get_service_statistics,
mock_get_detailed_service,
mocker
):
with app_.test_request_context():
@@ -321,3 +319,41 @@ def test_should_download_notifications_for_a_job(app_,
@freeze_time("2016-01-10 12:00:00.000000")
def test_time_left(job_created_at, expected_message):
assert get_time_left(job_created_at) == expected_message
STATISTICS = {
'sms': {
'requested': 6,
'failed': 2,
'delivered': 1
}
}
def test_get_status_filters_calculates_stats(app_):
with app_.test_request_context():
ret = get_status_filters({'id': 'foo'}, 'sms', STATISTICS)
assert {label: count for label, _option, _link, count in ret} == {
'processed': 6,
'sending': 3,
'failed': 2,
'delivered': 1
}
def test_get_status_filters_in_right_order(app_):
with app_.test_request_context():
ret = get_status_filters({'id': 'foo'}, 'sms', STATISTICS)
assert [label for label, _option, _link, _count in ret] == [
'processed', 'sending', 'delivered', 'failed'
]
def test_get_status_filters_constructs_links(app_):
with app_.test_request_context():
ret = get_status_filters({'id': 'foo'}, 'sms', STATISTICS)
link = ret[0][2]
assert link == '/services/foo/notifications/sms?status={}'.format(quote('sending,delivered,failed'))

View File

@@ -17,7 +17,6 @@ def test_sign_out_user(app_,
mock_get_user_by_email,
mock_login,
mock_get_service_templates,
mock_get_service_statistics,
mock_get_jobs,
mock_has_permissions,
mock_get_template_statistics,

View File

@@ -1,32 +0,0 @@
import uuid
from datetime import datetime
from app.notify_client.statistics_api_client import StatisticsApiClient
def test_notifications_statistics_client_calls_correct_api_endpoint(mocker, api_user_active):
some_service_id = uuid.uuid4()
expected_url = '/service/{}/notifications-statistics'.format(some_service_id)
client = StatisticsApiClient()
mock_get = mocker.patch('app.notify_client.statistics_api_client.StatisticsApiClient.get')
client.get_statistics_for_service(some_service_id)
mock_get.assert_called_once_with(url=expected_url, params={})
def test_notifications_statistics_client_calls_correct_api_endpoint_with_params(mocker, api_user_active):
some_service_id = uuid.uuid4()
expected_url = '/service/{}/notifications-statistics'.format(some_service_id)
client = StatisticsApiClient()
mock_get = mocker.patch('app.notify_client.statistics_api_client.StatisticsApiClient.get')
client.get_statistics_for_service(some_service_id, limit_days=99)
mock_get.assert_called_once_with(url=expected_url, params={'limit_days': 99})

View File

@@ -216,15 +216,6 @@ def mock_delete_service(mocker, mock_get_service):
'app.service_api_client.delete_service', side_effect=_delete)
@pytest.fixture(scope='function')
def mock_get_service_statistics(mocker):
def _create(service_id, limit_days=None):
return {'data': [{}]}
return mocker.patch(
'app.statistics_api_client.get_statistics_for_service', side_effect=_create)
@pytest.fixture(scope='function')
def mock_get_aggregate_service_statistics(mocker):
def _create(service_id, limit_days=None):