Merge branch 'master' into return-service_sms_sender_value

This commit is contained in:
Rebecca Law
2017-10-04 13:29:05 +01:00
14 changed files with 122 additions and 42 deletions

View File

@@ -2,7 +2,6 @@ import json
import uuid
from datetime import datetime
from unittest.mock import Mock
import pytest
import requests_mock
from flask import current_app
@@ -29,14 +28,17 @@ from app.celery.tasks import (
from app.config import QueueNames
from app.dao import jobs_dao, services_dao
from app.models import (
Notification,
EMAIL_TYPE,
JOB_STATUS_ERROR,
KEY_TYPE_NORMAL,
KEY_TYPE_TEAM,
KEY_TYPE_TEST,
KEY_TYPE_NORMAL,
SMS_TYPE,
EMAIL_TYPE,
LETTER_TYPE,
Job)
SERVICE_PERMISSION_TYPES,
SMS_TYPE,
Job,
Notification
)
from tests.app import load_example_csv
from tests.app.conftest import (
@@ -46,7 +48,16 @@ from tests.app.conftest import (
sample_email_template as create_sample_email_template,
sample_notification as create_sample_notification
)
from tests.app.db import create_user, create_notification, create_job, create_service_inbound_api, create_inbound_sms
from tests.app.db import (
create_inbound_sms,
create_job,
create_letter_contact,
create_notification,
create_service_inbound_api,
create_service,
create_template,
create_user
)
class AnyStringWith(str):
@@ -1076,8 +1087,11 @@ def test_build_dvla_file_retries_if_all_notifications_are_not_created(sample_let
mocked_send_task.assert_not_called()
def test_create_dvla_file_contents_for_job(sample_letter_template, mocker):
job = create_job(template=sample_letter_template, notification_count=2)
def test_create_dvla_file_contents(notify_db_session, mocker):
service = create_service(service_permissions=SERVICE_PERMISSION_TYPES)
create_letter_contact(service=service, contact_block='London,\nNW1A 1AA')
letter_template = create_template(service=service, template_type=LETTER_TYPE)
job = create_job(template=letter_template, notification_count=2)
create_notification(template=job.template, job=job, reference=1)
create_notification(template=job.template, job=job, reference=2)
mocked_letter_template = mocker.patch("app.celery.tasks.LetterDVLATemplate")
@@ -1093,9 +1107,8 @@ def test_create_dvla_file_contents_for_job(sample_letter_template, mocker):
# Personalisation
assert not calls[0][0][1]
assert not calls[1][0][1]
# Named arguments
assert calls[1][1]['contact_block'] == 'London,\nSW1A 1AA'
assert calls[1][1]['contact_block'] == 'London,\nNW1A 1AA'
assert calls[0][1]['notification_reference'] == '1'
assert calls[1][1]['notification_reference'] == '2'
assert calls[1][1]['org_id'] == '001'

View File

@@ -46,7 +46,8 @@ from tests.app.db import (
create_notification,
create_service,
create_api_key,
create_inbound_number
create_inbound_number,
create_letter_contact,
)
@@ -138,7 +139,6 @@ def sample_service(
email_from=None,
permissions=[SMS_TYPE, EMAIL_TYPE],
research_mode=None,
letter_contact_block='London,\nSW1A 1AA',
):
if user is None:
user = create_user()
@@ -150,8 +150,7 @@ def sample_service(
'message_limit': limit,
'restricted': restricted,
'email_from': email_from,
'created_by': user,
'letter_contact_block': letter_contact_block,
'created_by': user
}
service = Service.query.filter_by(name=service_name).first()
if not service:
@@ -184,7 +183,9 @@ def sample_service_full_permissions(notify_db, notify_db_session):
@pytest.fixture(scope='function')
def sample_service_custom_letter_contact_block(notify_db, notify_db_session):
return sample_service(notify_db, notify_db_session, letter_contact_block='((contact block))')
service = sample_service(notify_db, notify_db_session)
create_letter_contact(service, contact_block='((contact block))')
return service
@pytest.fixture(scope='function')

View File

@@ -1548,8 +1548,7 @@ def test_get_services_with_detailed_flag_accepts_date_range(client, mocker):
start_date=date(2001, 1, 1),
end_date=date(2002, 2, 2),
only_active=ANY,
include_from_test_key=ANY,
trial_mode_services=ANY
include_from_test_key=ANY
)
assert resp.status_code == 200
@@ -1566,8 +1565,7 @@ def test_get_services_with_detailed_flag_defaults_to_today(client, mocker):
end_date=date(2002, 2, 2),
include_from_test_key=ANY,
only_active=ANY,
start_date=date(2002, 2, 2),
trial_mode_services=ANY
start_date=date(2002, 2, 2)
)
assert resp.status_code == 200