Uploading csv creates job via api

This commit is contained in:
Adam Shimali
2016-01-29 10:27:23 +00:00
parent 828255c98e
commit 0995cd2e3c
6 changed files with 88 additions and 21 deletions

View File

@@ -117,15 +117,25 @@ def test_upload_csvfile_with_valid_phone_shows_all_if_6_or_less_numbers(app_,
@moto.mock_s3
def test_should_redirect_to_job(app_,
api_user_active,
mock_get_user,
mock_get_user_by_email,
mock_login):
def test_create_job_should_call_api(app_,
service_one,
api_user_active,
mock_get_user,
mock_get_user_by_email,
mock_login,
job_data,
mock_create_job):
service_id = job_data['service']
template_id = job_data['template']
upload_id = job_data['id']
file_name = job_data['original_file_name']
with app_.test_request_context():
with app_.test_client() as client:
client.login(api_user_active)
response = client.post(url_for('main.check_sms',
service_id=123,
upload_id='someid'))
assert response.status_code == 302
url = url_for('main.check_sms', service_id=service_id, upload_id=upload_id, file_name=file_name)
response = client.post(url, data=job_data, follow_redirects=True)
assert response.status_code == 200
mock_create_job.assert_called_with(service_id, template_id, file_name)

View File

@@ -422,6 +422,25 @@ def mock_check_verify_code_code_expired(mocker):
@pytest.fixture(scope='function')
def mock_send_email(mocker):
return mocker.patch(
'app.notifications_api_client.send_email', return_value=None)
def job_data(mocker):
import uuid
job_id = uuid.uuid4()
original_file_name = 'thisisatest.csv'
bucket_name = 'service-2-notify'
file_name = '{}.csv'.format(job_id)
data = {
'id': str(job_id),
'service': 1,
'template': 1,
'original_file_name': original_file_name,
'bucket_name': bucket_name,
'file_name': file_name,
}
return data
@pytest.fixture(scope='function')
def mock_create_job(mocker, job_data):
def _create(service_id, template_id, file_name):
return job_data
return mocker.patch('app.job_api_client.create_job', side_effect=_create)