mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-05 06:01:46 -04:00
Merge pull request #1918 from alphagov/letter_preview_use_api_not_template_preview
Letter preview use api not template preview
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import base64
|
||||
from functools import partial
|
||||
from unittest.mock import mock_open
|
||||
|
||||
import pytest
|
||||
from flask import url_for
|
||||
from freezegun import freeze_time
|
||||
from notifications_utils.template import LetterImageTemplate
|
||||
from notifications_python_client.errors import APIError
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
mock_get_notification,
|
||||
@@ -163,9 +165,11 @@ def test_should_show_image_of_letter_notification(
|
||||
|
||||
mock_get_notification(mocker, fake_uuid, template_type='letter')
|
||||
|
||||
mocked_preview = mocker.patch(
|
||||
'app.main.views.templates.TemplatePreview.from_utils_template',
|
||||
return_value='foo'
|
||||
mocker.patch(
|
||||
'app.notify_client.notification_api_client.NotificationApiClient.get',
|
||||
return_value={
|
||||
'content': base64.b64encode(b'foo').decode('utf-8')
|
||||
}
|
||||
)
|
||||
|
||||
response = logged_in_client.get(url_for(
|
||||
@@ -177,8 +181,32 @@ def test_should_show_image_of_letter_notification(
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.get_data(as_text=True) == 'foo'
|
||||
assert isinstance(mocked_preview.call_args[0][0], LetterImageTemplate)
|
||||
assert mocked_preview.call_args[0][1] == filetype
|
||||
|
||||
|
||||
def test_should_show_preview_error_image_letter_notification_on_preview_error(
|
||||
logged_in_client,
|
||||
fake_uuid,
|
||||
mocker,
|
||||
):
|
||||
|
||||
mock_get_notification(mocker, fake_uuid, template_type='letter')
|
||||
|
||||
mocker.patch(
|
||||
'app.notify_client.notification_api_client.NotificationApiClient.get',
|
||||
side_effect=APIError
|
||||
)
|
||||
|
||||
mocker.patch("builtins.open", mock_open(read_data="preview error image"))
|
||||
|
||||
response = logged_in_client.get(url_for(
|
||||
'main.view_letter_notification_as_preview',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
notification_id=fake_uuid,
|
||||
filetype='png'
|
||||
))
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.get_data(as_text=True) == 'preview error image'
|
||||
|
||||
|
||||
def test_should_404_for_unknown_extension(
|
||||
|
||||
Reference in New Issue
Block a user