Remove letter sending route without file_id

All instances of the app will be posting to the URL with the `file_id`
parameter now, so we can remove the old route without the ID now.
This commit is contained in:
Chris Hill-Scott
2020-05-19 18:19:07 +01:00
parent 846510fa31
commit 3378dfe258
3 changed files with 11 additions and 67 deletions

View File

@@ -766,40 +766,11 @@ def test_uploaded_letter_preview_image_400s_for_bad_page_type(
)
def test_send_uploaded_letter_sends_letter_and_redirects_to_notification_page(mocker, service_one, client_request):
metadata = LetterMetadata({'filename': 'my_file.pdf', 'page_count': '1', 'status': 'valid', 'recipient': 'address'})
mocker.patch('app.main.views.uploads.get_letter_pdf_and_metadata', return_value=('file', metadata))
mock_send = mocker.patch('app.main.views.uploads.notification_api_client.send_precompiled_letter')
mocker.patch('app.main.views.uploads.get_letter_metadata', return_value=metadata)
service_one['permissions'] = ['letter', 'upload_letters']
file_id = 'abcd-1234'
client_request.post(
'main.send_uploaded_letter',
service_id=SERVICE_ONE_ID,
_data={'filename': 'my_file.pdf', 'file_id': file_id, 'postage': 'first'},
_expected_redirect=url_for(
'main.view_notification',
service_id=SERVICE_ONE_ID,
notification_id=file_id,
_external=True
)
)
mock_send.assert_called_once_with(SERVICE_ONE_ID, 'my_file.pdf', file_id, 'first', 'address')
@pytest.mark.parametrize('form_data', (
{'filename': 'my_file.pdf', 'postage': 'first'},
{'filename': 'my_file.pdf', 'postage': 'first', 'file_id': 'Ignored in favour of URL'},
))
def test_send_uploaded_letter_accepts_file_id_in_url(
def test_send_uploaded_letter_sends_letter_and_redirects_to_notification_page(
mocker,
service_one,
client_request,
fake_uuid,
form_data,
):
metadata = LetterMetadata({'filename': 'my_file.pdf', 'page_count': '1', 'status': 'valid', 'recipient': 'address'})
@@ -813,7 +784,7 @@ def test_send_uploaded_letter_accepts_file_id_in_url(
'main.send_uploaded_letter',
service_id=SERVICE_ONE_ID,
file_id=fake_uuid,
_data=form_data,
_data={'filename': 'my_file.pdf', 'postage': 'first'},
_expected_redirect=url_for(
'main.view_notification',
service_id=SERVICE_ONE_ID,
@@ -824,31 +795,6 @@ def test_send_uploaded_letter_accepts_file_id_in_url(
mock_send.assert_called_once_with(SERVICE_ONE_ID, 'my_file.pdf', fake_uuid, 'first', 'address')
def test_send_uploaded_letter_needs_file_id_in_form_if_not_in_url(
mocker,
service_one,
client_request,
mock_template_preview,
fake_uuid,
):
metadata = LetterMetadata({'filename': 'my_file.pdf', 'page_count': '1', 'status': 'valid', 'recipient': 'address'})
mock_send = mocker.patch('app.main.views.uploads.notification_api_client.send_precompiled_letter')
mocker.patch('app.main.views.uploads.get_letter_metadata', return_value=metadata)
mocker.patch('app.main.views.uploads.service_api_client.get_precompiled_template')
service_one['permissions'] = ['letter', 'upload_letters']
client_request.post(
'main.send_uploaded_letter',
service_id=SERVICE_ONE_ID,
_data={'filename': 'my_file.pdf', 'postage': 'first'},
_expected_status=200,
_expected_redirect=None,
)
assert mock_send.called is False
@pytest.mark.parametrize('permissions', [
['email'],
['letter'],
@@ -859,23 +805,26 @@ def test_send_uploaded_letter_when_service_does_not_have_correct_permissions(
service_one,
client_request,
permissions,
fake_uuid,
):
mocker.patch('app.main.views.uploads.get_letter_pdf_and_metadata', return_value=('file', {'status': 'valid'}))
mock_send = mocker.patch('app.main.views.uploads.notification_api_client.send_precompiled_letter')
service_one['permissions'] = permissions
file_id = 'abcd-1234'
client_request.post(
'main.send_uploaded_letter',
service_id=SERVICE_ONE_ID,
_data={'filename': 'my_file.pdf', 'file_id': file_id, 'postage': 'first'},
file_id=fake_uuid,
_data={'filename': 'my_file.pdf', 'postage': 'first'},
_expected_status=403
)
assert not mock_send.called
def test_send_uploaded_letter_when_metadata_states_pdf_is_invalid(mocker, service_one, client_request):
def test_send_uploaded_letter_when_metadata_states_pdf_is_invalid(
mocker, service_one, client_request, fake_uuid,
):
mock_send = mocker.patch('app.main.views.uploads.notification_api_client.send_precompiled_letter')
mocker.patch(
'app.main.views.uploads.get_letter_metadata',
@@ -888,12 +837,12 @@ def test_send_uploaded_letter_when_metadata_states_pdf_is_invalid(mocker, servic
)
service_one['permissions'] = ['letter', 'upload_letters']
file_id = 'abcd-1234'
client_request.post(
'main.send_uploaded_letter',
service_id=SERVICE_ONE_ID,
_data={'filename': 'my_file.pdf', 'file_id': file_id},
file_id=fake_uuid,
_data={'filename': 'my_file.pdf'},
_expected_status=403
)
assert not mock_send.called