mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 18:01:08 -05:00
Remove letters-related code (#175)
This deletes a big ol' chunk of code related to letters. It's not everything—there are still a few things that might be tied to sms/email—but it's the the heart of letters function. SMS and email function should be untouched by this. Areas affected: - Things obviously about letters - PDF tasks, used for precompiling letters - Virus scanning, used for those PDFs - FTP, used to send letters to the printer - Postage stuff
This commit is contained in:
@@ -78,59 +78,6 @@ def test_cant_cancel_normal_job(client, sample_job, mocker):
|
||||
assert mock_update.call_count == 0
|
||||
|
||||
|
||||
@freeze_time('2019-06-13 13:00')
|
||||
def test_cancel_letter_job_updates_notifications_and_job_to_cancelled(sample_letter_template, admin_request, mocker):
|
||||
job = create_job(template=sample_letter_template, notification_count=1, job_status='finished')
|
||||
create_notification(template=job.template, job=job, status='created')
|
||||
|
||||
mock_get_job = mocker.patch('app.job.rest.dao_get_job_by_service_id_and_job_id', return_value=job)
|
||||
mock_can_letter_job_be_cancelled = mocker.patch(
|
||||
'app.job.rest.can_letter_job_be_cancelled', return_value=(True, None)
|
||||
)
|
||||
mock_dao_cancel_letter_job = mocker.patch('app.job.rest.dao_cancel_letter_job', return_value=1)
|
||||
|
||||
response = admin_request.post(
|
||||
'job.cancel_letter_job',
|
||||
service_id=job.service_id,
|
||||
job_id=job.id,
|
||||
)
|
||||
|
||||
mock_get_job.assert_called_once_with(job.service_id, str(job.id))
|
||||
mock_can_letter_job_be_cancelled.assert_called_once_with(job)
|
||||
mock_dao_cancel_letter_job.assert_called_once_with(job)
|
||||
|
||||
assert response == 1
|
||||
|
||||
|
||||
@freeze_time('2019-06-13 13:00')
|
||||
def test_cancel_letter_job_does_not_call_cancel_if_can_letter_job_be_cancelled_returns_False(
|
||||
sample_letter_template, admin_request, mocker
|
||||
):
|
||||
job = create_job(template=sample_letter_template, notification_count=2, job_status='finished')
|
||||
create_notification(template=job.template, job=job, status='sending')
|
||||
create_notification(template=job.template, job=job, status='created')
|
||||
|
||||
mock_get_job = mocker.patch('app.job.rest.dao_get_job_by_service_id_and_job_id', return_value=job)
|
||||
error_message = "Sorry, it's too late, letters have already been sent."
|
||||
mock_can_letter_job_be_cancelled = mocker.patch(
|
||||
'app.job.rest.can_letter_job_be_cancelled', return_value=(False, error_message)
|
||||
)
|
||||
mock_dao_cancel_letter_job = mocker.patch('app.job.rest.dao_cancel_letter_job')
|
||||
|
||||
response = admin_request.post(
|
||||
'job.cancel_letter_job',
|
||||
service_id=job.service_id,
|
||||
job_id=job.id,
|
||||
_expected_status=400
|
||||
)
|
||||
|
||||
mock_get_job.assert_called_once_with(job.service_id, str(job.id))
|
||||
mock_can_letter_job_be_cancelled.assert_called_once_with(job)
|
||||
mock_dao_cancel_letter_job.assert_not_called
|
||||
|
||||
assert response["message"] == "Sorry, it's too late, letters have already been sent."
|
||||
|
||||
|
||||
def test_create_unscheduled_job(client, sample_template, mocker, fake_uuid):
|
||||
mocker.patch('app.celery.tasks.process_job.apply_async')
|
||||
mocker.patch('app.job.rest.get_job_metadata_from_s3', return_value={
|
||||
@@ -321,31 +268,6 @@ def test_create_job_returns_400_if_file_is_invalid(
|
||||
mock_job_dao.assert_not_called()
|
||||
|
||||
|
||||
def test_create_job_returns_403_if_letter_template_type_and_service_in_trial(
|
||||
client, fake_uuid, sample_trial_letter_template, mocker
|
||||
):
|
||||
mocker.patch('app.job.rest.get_job_metadata_from_s3', return_value={
|
||||
'template_id': str(sample_trial_letter_template.id),
|
||||
'original_file_name': 'thisisatest.csv',
|
||||
'notification_count': '1',
|
||||
})
|
||||
data = {
|
||||
'id': fake_uuid,
|
||||
'created_by': str(sample_trial_letter_template.created_by.id),
|
||||
}
|
||||
mock_job_dao = mocker.patch("app.dao.jobs_dao.dao_create_job")
|
||||
auth_header = create_admin_authorization_header()
|
||||
response = client.post('/service/{}/job'.format(sample_trial_letter_template.service.id),
|
||||
data=json.dumps(data),
|
||||
headers=[('Content-Type', 'application/json'), auth_header])
|
||||
|
||||
assert response.status_code == 403
|
||||
resp_json = json.loads(response.get_data(as_text=True))
|
||||
assert resp_json['result'] == 'error'
|
||||
assert resp_json['message'] == "Create letter job is not allowed for service in trial mode "
|
||||
mock_job_dao.assert_not_called()
|
||||
|
||||
|
||||
@freeze_time("2016-01-01 11:09:00.061258")
|
||||
def test_should_not_create_scheduled_job_more_then_96_hours_in_the_future(client, sample_template, mocker, fake_uuid):
|
||||
scheduled_date = (datetime.utcnow() + timedelta(hours=96, minutes=1)).isoformat()
|
||||
|
||||
Reference in New Issue
Block a user