mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 10:28:41 -04:00
Refactor mock_get_uploads to return more realistic data.
This commit is contained in:
@@ -48,18 +48,18 @@ def uploads(service_id):
|
||||
# No tests have been written, this has been quickly prepared for user research.
|
||||
# It's also very like that a new view will be created to show uploads.
|
||||
page = int(request.args.get('page', 1))
|
||||
jobs_response = job_api_client.get_uploads(service_id, page=page)
|
||||
uploads_response = job_api_client.get_uploads(service_id, page=page)
|
||||
|
||||
prev_page = None
|
||||
if jobs_response['links'].get('prev', None):
|
||||
if uploads_response['links'].get('prev', None):
|
||||
prev_page = generate_previous_dict('main.uploads', service_id, page)
|
||||
next_page = None
|
||||
if jobs_response['links'].get('next', None):
|
||||
if uploads_response['links'].get('next', None):
|
||||
next_page = generate_next_dict('main.uploads', service_id, page)
|
||||
|
||||
return render_template(
|
||||
'views/jobs/jobs.html',
|
||||
jobs=jobs_response['data'],
|
||||
jobs=uploads_response['data'],
|
||||
page=page,
|
||||
prev_page=prev_page,
|
||||
next_page=next_page,
|
||||
|
||||
+18
-27
@@ -1938,38 +1938,29 @@ def mock_get_jobs(mocker, api_user_active):
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_get_uploads(mocker, api_user_active):
|
||||
def _get_jobs(service_id, limit_days=None, statuses=None, page=1):
|
||||
if statuses is None:
|
||||
statuses = ['', 'scheduled', 'pending', 'cancelled', 'finished']
|
||||
|
||||
jobs = [
|
||||
job_json(
|
||||
service_id,
|
||||
api_user_active,
|
||||
original_file_name=filename,
|
||||
scheduled_for=scheduled_for,
|
||||
job_status=job_status,
|
||||
template_version=template_version,
|
||||
)
|
||||
for filename, scheduled_for, job_status, template_version in (
|
||||
('export 1/1/2016.xls', '', 'finished', 1),
|
||||
('all email addresses.xlsx', '', 'pending', 1),
|
||||
('applicants.ods', '', 'finished', 1),
|
||||
('thisisatest.csv', '', 'finished', 2),
|
||||
('send_me_later.csv', '2016-01-01 11:09:00.061258', 'scheduled', 1),
|
||||
('even_later.csv', '2016-01-01 23:09:00.061258', 'scheduled', 1),
|
||||
('full_of_regret.csv', '2016-01-01 23:09:00.061258', 'cancelled', 1)
|
||||
)
|
||||
]
|
||||
def _get_uploads(service_id, limit_days=None, statuses=None, page=1):
|
||||
uploads = [{'id': 'job_id_1',
|
||||
'original_file_name': 'some.csv',
|
||||
'notification_count': 10,
|
||||
'created_at': '2016-01-01 11:09:00.061258',
|
||||
'statistics': [{'count': 8, 'status': 'delivered'}, {'count': 2, 'status': 'temporary-failure'}],
|
||||
'upload_type': 'job'},
|
||||
{'id': 'job_id_1',
|
||||
'original_file_name': 'some.csv',
|
||||
'notification_count': 1,
|
||||
'created_at': '2016-01-01 11:09:00.061258',
|
||||
'statistics': [{'count': 1, 'status': 'delivered'}],
|
||||
'upload_type': 'letter'}
|
||||
]
|
||||
return {
|
||||
'data': [job for job in jobs if job['job_status'] in statuses],
|
||||
'data': uploads,
|
||||
'links': {
|
||||
'prev': 'services/{}/jobs?page={}'.format(service_id, page - 1),
|
||||
'next': 'services/{}/jobs?page={}'.format(service_id, page + 1)
|
||||
'prev': 'services/{}/uploads?page={}'.format(service_id, page - 1),
|
||||
'next': 'services/{}/uploads?page={}'.format(service_id, page + 1)
|
||||
}
|
||||
}
|
||||
|
||||
return mocker.patch('app.job_api_client.get_uploads', side_effect=_get_jobs)
|
||||
return mocker.patch('app.job_api_client.get_uploads', side_effect=_get_uploads)
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
|
||||
Reference in New Issue
Block a user