Refactor tests

This commit is contained in:
Imdad Ahad
2017-04-21 11:07:45 +01:00
parent 4dfd5448ad
commit 49fb4823e3
4 changed files with 34 additions and 51 deletions

View File

@@ -69,7 +69,7 @@ def get_all_notifications_for_service_job(service_id, job_id):
data = notifications_filter_schema.load(request.args).data
page = data['page'] if 'page' in data else 1
page_size = data['page_size'] if 'page_size' in data else current_app.config.get('PAGE_SIZE')
pagination = get_notifications_for_job(
paginated_notifications = get_notifications_for_job(
service_id,
job_id,
filter_dict=data,
@@ -82,16 +82,16 @@ def get_all_notifications_for_service_job(service_id, job_id):
notifications = None
if data.get('format_for_csv'):
notifications = [notification.serialize_for_csv() for notification in pagination.items]
notifications = [notification.serialize_for_csv() for notification in paginated_notifications.items]
else:
notifications = notification_with_template_schema.dump(pagination.items, many=True).data
notifications = notification_with_template_schema.dump(paginated_notifications.items, many=True).data
return jsonify(
notifications=notifications,
page_size=page_size,
total=pagination.total,
total=paginated_notifications.total,
links=pagination_links(
pagination,
paginated_notifications,
'.get_all_notifications_for_service_job',
**kwargs
)

1
celerybeat.pid Normal file
View File

@@ -0,0 +1 @@
9772

View File

@@ -731,8 +731,10 @@ def test_get_all_notifications_for_job_returns_csv_format(
created_at=datetime.utcnow(),
)
path = '/service/{}/job/{}/notifications'.format(notification.service.id, job.id)
response = client.get(
path='/service/{}/job/{}/notifications?'.format(notification.service.id, job.id, True),
path=path,
headers=[create_authorization_header()],
query_string={'format_for_csv': True}
)

View File

@@ -87,18 +87,8 @@ def test_notification_for_csv_returns_correct_type(notify_db, notify_db_session,
to_field=recipient
)
expected_resp = {
"recipient": recipient,
"row_number": "",
"template_name": "Template Name",
"template_type": template_type,
"created_at": "Friday 01 January 2016 at 11:09",
"job_name": "some.csv",
"status": "Sending"
}
serialized = notification.serialize_for_csv()
assert serialized == expected_resp
assert serialized['template_type'] == template_type
@freeze_time("2016-01-01 11:09:00.000000")
@@ -108,59 +98,49 @@ def test_notification_for_csv_returns_correct_job_row_number(notify_db, notify_d
notify_db_session,
job_row_number=0
)
expected_resp = {
"recipient": "+447700900855",
"row_number": 1,
"template_name": "Template Name",
"template_type": "sms",
"created_at": "Friday 01 January 2016 at 11:09",
"job_name": "some.csv",
"status": "Sending"
}
serialized = notification.serialize_for_csv()
assert serialized == expected_resp
assert serialized['row_number'] == 1
@freeze_time("2016-01-30 12:39:58.321312")
def test_notifiation_for_csv_returns_formatted_status(notify_db, notify_db_session):
@pytest.mark.parametrize('template_type, status, expected_status', [
('email', 'failed', 'Failed'),
('email', 'technical-failure', 'Technical failure'),
('email', 'temporary-failure', 'Inbox not accepting messages right now'),
('email', 'permanent-failure', 'Email address doesnt exist'),
('sms', 'temporary-failure', 'Phone not accepting messages right now'),
('sms', 'permanent-failure', 'Phone number doesnt exist'),
('letter', 'permanent-failure', 'Permanent failure'),
('letter', 'delivered', 'Delivered')
])
def test_notification_for_csv_returns_formatted_status(
notify_db,
notify_db_session,
template_type,
status,
expected_status
):
template = create_sample_template(notify_db, notify_db_session, template_type=template_type)
notification = create_sample_notification_with_job(
notify_db,
notify_db_session,
job_row_number=51,
status='temporary-failure'
status=status,
template=template
)
expected_resp = {
"recipient": "+447700900855",
"row_number": 52,
"template_name": "Template Name",
"template_type": "sms",
"created_at": "Saturday 30 January 2016 at 12:39",
"job_name": "some.csv",
"status": "Phone not accepting messages right now"
}
serialized = notification.serialize_for_csv()
assert serialized == expected_resp
assert serialized['status'] == expected_status
@freeze_time("2017-03-26 23:01:53.321312")
def test_notifiation_for_csv_returns_bst_correctly(notify_db, notify_db_session):
def test_notification_for_csv_returns_bst_correctly(notify_db, notify_db_session):
notification = create_sample_notification_with_job(
notify_db,
notify_db_session,
job_row_number=100,
status='permanent-failure'
)
expected_resp = {
"recipient": "+447700900855",
"row_number": 101,
"template_name": "Template Name",
"template_type": "sms",
"created_at": "Monday 27 March 2017 at 00:01",
"job_name": "some.csv",
"status": "Phone number doesnt exist"
}
serialized = notification.serialize_for_csv()
assert serialized == expected_resp
assert serialized['created_at'] == 'Monday 27 March 2017 at 00:01'