mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-26 01:04:00 -04:00
Only show overlay when content is outside the printable area
The overlay was showing for any invalid pdf - we only want to show the overlay for invalid pdf files where there is content outside the printable area.
This commit is contained in:
@@ -181,7 +181,7 @@ def view_letter_upload_as_preview(service_id, file_id):
|
|||||||
|
|
||||||
page = request.args.get('page')
|
page = request.args.get('page')
|
||||||
|
|
||||||
if metadata['status'] == 'invalid':
|
if metadata.get('message') == 'content-outside-printable-area':
|
||||||
return TemplatePreview.from_invalid_pdf_file(pdf_file, page)
|
return TemplatePreview.from_invalid_pdf_file(pdf_file, page)
|
||||||
else:
|
else:
|
||||||
return TemplatePreview.from_valid_pdf_file(pdf_file, page)
|
return TemplatePreview.from_valid_pdf_file(pdf_file, page)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from flask import url_for
|
from flask import make_response, url_for
|
||||||
from requests import RequestException
|
from requests import RequestException
|
||||||
|
|
||||||
from app.utils import normalize_spaces
|
from app.utils import normalize_spaces
|
||||||
@@ -300,6 +300,54 @@ def test_uploaded_letter_preview(mocker, client_request):
|
|||||||
assert page.find('div', class_='letter-sent')
|
assert page.find('div', class_='letter-sent')
|
||||||
|
|
||||||
|
|
||||||
|
def test_uploaded_letter_preview_image_shows_overlay_when_content_outside_printable_area(
|
||||||
|
mocker,
|
||||||
|
logged_in_client,
|
||||||
|
mock_get_service,
|
||||||
|
):
|
||||||
|
mocker.patch(
|
||||||
|
'app.main.views.uploads.get_letter_pdf_and_metadata',
|
||||||
|
return_value=('pdf_file', {'message': 'content-outside-printable-area'})
|
||||||
|
)
|
||||||
|
template_preview_mock = mocker.patch(
|
||||||
|
'app.main.views.uploads.TemplatePreview.from_invalid_pdf_file',
|
||||||
|
return_value=make_response('page.html', 200))
|
||||||
|
|
||||||
|
logged_in_client.get(
|
||||||
|
url_for('main.view_letter_upload_as_preview', file_id='fake-uuid', service_id=SERVICE_ONE_ID, page=1)
|
||||||
|
)
|
||||||
|
|
||||||
|
template_preview_mock.assert_called_once_with('pdf_file', '1')
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
'metadata', [
|
||||||
|
{'message': 'letter-not-a4-portrait-oriented'},
|
||||||
|
{'message': 'letter-too-long'},
|
||||||
|
{},
|
||||||
|
]
|
||||||
|
)
|
||||||
|
def test_uploaded_letter_preview_image_does_not_show_overlay_if_no_content_outside_printable_area(
|
||||||
|
mocker,
|
||||||
|
logged_in_client,
|
||||||
|
mock_get_service,
|
||||||
|
metadata,
|
||||||
|
):
|
||||||
|
mocker.patch(
|
||||||
|
'app.main.views.uploads.get_letter_pdf_and_metadata',
|
||||||
|
return_value=('pdf_file', metadata)
|
||||||
|
)
|
||||||
|
template_preview_mock = mocker.patch(
|
||||||
|
'app.main.views.uploads.TemplatePreview.from_valid_pdf_file',
|
||||||
|
return_value=make_response('page.html', 200))
|
||||||
|
|
||||||
|
logged_in_client.get(
|
||||||
|
url_for('main.view_letter_upload_as_preview', file_id='fake-uuid', service_id=SERVICE_ONE_ID, page=1)
|
||||||
|
)
|
||||||
|
|
||||||
|
template_preview_mock.assert_called_once_with('pdf_file', '1')
|
||||||
|
|
||||||
|
|
||||||
def test_send_uploaded_letter_sends_letter_and_redirects_to_notification_page(mocker, service_one, client_request):
|
def test_send_uploaded_letter_sends_letter_and_redirects_to_notification_page(mocker, service_one, client_request):
|
||||||
metadata = {'filename': 'my_file.pdf', 'page_count': '1', 'status': 'valid'}
|
metadata = {'filename': 'my_file.pdf', 'page_count': '1', 'status': 'valid'}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user