Test postage display on view template page

This commit is contained in:
Pea Tyczynska
2018-12-21 12:51:05 +00:00
parent 85b8b343e2
commit 5144db7baa
2 changed files with 69 additions and 2 deletions

View File

@@ -12,6 +12,7 @@ from app.main.views.templates import (
get_last_use_message,
)
from tests import (
service_json,
single_notification_json,
template_json,
validate_route_permission,
@@ -401,6 +402,72 @@ def test_user_with_only_send_and_view_sees_letter_page(
assert page.select_one('h1').text.strip() == 'Two week reminder'
def test_view_letter_template_displays_postage(
client_request,
mock_get_service_templates,
mock_get_template_folders,
mock_get_service_letter_template,
single_letter_contact_block,
mock_has_jobs,
active_user_with_permissions,
mocker,
fake_uuid,
):
mocker.patch('app.main.views.templates.get_page_count_for_letter', return_value=1)
client_request.login(active_user_with_permissions)
import pdb; pdb.set_trace()
page = client_request.get(
'main.view_template',
service_id=SERVICE_ONE_ID,
template_id=fake_uuid,
)
assert "Postage: second class" in page.text
def test_view_letter_template_displays_postage_from_template_if_service_has_choose_postage_permission(
client_request,
service_one,
mock_get_service_templates,
mock_get_template_folders,
single_letter_contact_block,
mock_has_jobs,
active_user_with_permissions,
mocker,
fake_uuid,
):
mocker.patch('app.main.views.templates.get_page_count_for_letter', return_value=1)
service_one['permissions'] = ["choose_postage", "letter"]
client_request.login(active_user_with_permissions)
mock_get_service_letter_template(mocker, postage="first")
page = client_request.get(
'main.view_template',
service_id=SERVICE_ONE_ID,
template_id=fake_uuid,
)
assert "Postage: first class" in page.text
def test_view_non_letter_template_does_not_display_postage(
logged_in_client,
mock_get_service_template,
mock_get_template_folders,
service_one,
fake_uuid,
):
response = logged_in_client.get(url_for(
'.view_template',
service_id=service_one['id'],
template_id=fake_uuid))
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert "Postage" not in page.text
@pytest.mark.parametrize('permissions, links_to_be_shown, permissions_warning_to_be_shown', [
(
['view_activity'],

View File

@@ -880,8 +880,8 @@ def mock_get_service_email_template_without_placeholders(mocker):
@pytest.fixture(scope='function')
def mock_get_service_letter_template(mocker, content=None, subject=None):
def _get(service_id, template_id, version=None, postage=None):
def mock_get_service_letter_template(mocker, content=None, subject=None, postage=None):
def _get(service_id, template_id, version=None, postage=postage):
template = template_json(
service_id,
template_id,