Merge branch 'master' into async-job-stats

Conflicts:
	app/notifications/notifications_ses_callback.py
This commit is contained in:
Martyn Inglis
2017-05-17 09:49:43 +01:00
25 changed files with 713 additions and 109 deletions

View File

@@ -0,0 +1,36 @@
from app.dao.service_permissions_dao import dao_fetch_service_permissions, dao_remove_service_permission
from app.models import EMAIL_TYPE, SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INCOMING_SMS_TYPE
from tests.app.db import create_service_permission
def test_create_service_permission(sample_service):
service_permissions = create_service_permission(service_id=sample_service.id, permission=SMS_TYPE)
assert len(service_permissions) == 1
assert service_permissions[0].service_id == sample_service.id
assert service_permissions[0].permission == SMS_TYPE
def test_fetch_service_permissions_gets_service_permissions(sample_service):
create_service_permission(service_id=sample_service.id, permission=LETTER_TYPE)
create_service_permission(service_id=sample_service.id, permission=INTERNATIONAL_SMS_TYPE)
create_service_permission(service_id=sample_service.id, permission=SMS_TYPE)
service_permissions = dao_fetch_service_permissions(sample_service.id)
assert len(service_permissions) == 3
assert all(sp.service_id == sample_service.id for sp in service_permissions)
assert all(sp.permission in [LETTER_TYPE, INTERNATIONAL_SMS_TYPE, SMS_TYPE] for sp in service_permissions)
def test_remove_service_permission(sample_service):
create_service_permission(service_id=sample_service.id, permission=EMAIL_TYPE)
create_service_permission(service_id=sample_service.id, permission=INCOMING_SMS_TYPE)
dao_remove_service_permission(sample_service.id, EMAIL_TYPE)
permissions = dao_fetch_service_permissions(sample_service.id)
assert len(permissions) == 1
assert permissions[0].permission == INCOMING_SMS_TYPE
assert permissions[0].service_id == sample_service.id

View File

@@ -24,7 +24,8 @@ from app.dao.services_dao import (
dao_fetch_todays_stats_for_all_services,
fetch_stats_by_date_range_for_all_services,
dao_suspend_service,
dao_resume_service
dao_resume_service,
dao_fetch_active_users_for_service
)
from app.dao.users_dao import save_model_user
from app.models import (
@@ -49,6 +50,7 @@ from app.models import (
KEY_TYPE_TEST
)
from tests.app.db import create_user, create_service
from tests.app.conftest import (
sample_notification as create_notification,
sample_notification_history as create_notification_history,
@@ -783,3 +785,13 @@ def test_fetch_monthly_historical_template_stats_for_service_separates_templates
assert len(result.get('2016-04').keys()) == 2
assert str(template_one.id) in result.get('2016-04').keys()
assert str(template_two.id) in result.get('2016-04').keys()
def test_dao_fetch_active_users_for_service_returns_active_only(notify_db, notify_db_session):
active_user = create_user(email='active@foo.com', state='active')
pending_user = create_user(email='pending@foo.com', state='pending')
service = create_service(user=active_user)
dao_add_user_to_service(service, pending_user)
users = dao_fetch_active_users_for_service(service.id)
assert len(users) == 1