mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-16 20:49:00 -04:00
Rebase and set upload status to invalid if too many pages
This commit is contained in:
@@ -83,7 +83,10 @@ def upload_letter(service_id):
|
||||
else:
|
||||
raise ex
|
||||
else:
|
||||
status = 'valid'
|
||||
if is_letter_too_long(page_count):
|
||||
status = 'invalid'
|
||||
else:
|
||||
status = 'valid'
|
||||
file_contents = base64.b64decode(response.json()['file'].encode())
|
||||
upload_letter_to_s3(
|
||||
file_contents,
|
||||
|
||||
@@ -217,9 +217,11 @@ def test_post_upload_letter_with_letter_that_is_too_long(mocker, client_request)
|
||||
'app.main.views.uploads.sanitise_letter',
|
||||
return_value=Mock(content='The sanitised content', json=lambda: {'file': 'VGhlIHNhbml0aXNlZCBjb250ZW50'})
|
||||
)
|
||||
mocker.patch('app.main.views.uploads.upload_letter_to_s3')
|
||||
mock_upload = mocker.patch('app.main.views.uploads.upload_letter_to_s3')
|
||||
mock_page_count = mocker.patch('app.main.views.uploads.pdf_page_count', return_value=11)
|
||||
mocker.patch('app.main.views.uploads.service_api_client.get_precompiled_template', return_value=letter_template)
|
||||
mocker.patch('app.main.views.uploads.get_letter_metadata', return_value={
|
||||
'filename': 'tests/test_pdf_files/one_page_pdf.pdf', 'page_count': '11', 'status': 'invalid'})
|
||||
|
||||
with open('tests/test_pdf_files/one_page_pdf.pdf', 'rb') as file:
|
||||
page = client_request.post(
|
||||
@@ -230,6 +232,13 @@ def test_post_upload_letter_with_letter_that_is_too_long(mocker, client_request)
|
||||
)
|
||||
|
||||
assert mock_page_count.called
|
||||
mock_upload.assert_called_once_with(
|
||||
b'The sanitised content',
|
||||
file_location='service-596364a0-858e-42c8-9062-a8fe822260eb/fake-uuid.pdf',
|
||||
filename='tests/test_pdf_files/one_page_pdf.pdf',
|
||||
page_count=11,
|
||||
status='invalid'
|
||||
)
|
||||
|
||||
assert page.find('h1').text == 'tests/test_pdf_files/one_page_pdf.pdf'
|
||||
assert page.select('#letter-too-long')
|
||||
|
||||
Reference in New Issue
Block a user