diff --git a/tests/app/main/views/test_email_preview.py b/tests/app/main/views/test_email_preview.py index 05fb3f32b..3d8fc34f7 100644 --- a/tests/app/main/views/test_email_preview.py +++ b/tests/app/main/views/test_email_preview.py @@ -1,4 +1,7 @@ +import re + import pytest +from bs4 import BeautifulSoup from flask import url_for @@ -16,3 +19,67 @@ def test_renders(client, mocker, query_args, result): assert response.status_code == 200 assert response.get_data(as_text=True) == 'rendered' + + +def test_displays_govuk_branding_by_default(client): + + response = client.get(url_for('main.email_template')) + + page = BeautifulSoup(response.data.decode("utf-8"), "html.parser") + + assert response.status_code == 200 + + assert page.find("a", attrs={"href": "https://www.gov.uk"}) + + +def test_displays_govuk_branding(client): + + response = client.get(url_for('main.email_template', branding_type="govuk", branding_style="1")) + + page = BeautifulSoup(response.data.decode("utf-8"), "html.parser") + + assert response.status_code == 200 + + assert page.find("a", attrs={"href": "https://www.gov.uk"}) + + +def test_displays_both_branding(client, mock_get_email_branding): + + response = client.get(url_for('main.email_template', branding_type="both", branding_style="1")) + + page = BeautifulSoup(response.data.decode("utf-8"), "html.parser") + + assert response.status_code == 200 + mock_get_email_branding.assert_called_once_with('1') + + assert page.find("a", attrs={"href": "https://www.gov.uk"}) + assert page.find("img", attrs={"src": re.compile("example.png$")}) + + +def test_displays_org_branding(client, mock_get_email_branding): + + response = client.get(url_for('main.email_template', branding_type="org", branding_style="1")) + + page = BeautifulSoup(response.data.decode("utf-8"), "html.parser") + + assert response.status_code == 200 + mock_get_email_branding.assert_called_once_with('1') + + assert not page.find("a", attrs={"href": "https://www.gov.uk"}) + assert page.find("img", attrs={"src": re.compile("example.png")}) + assert not page.select("body > table > tr > td[bgcolor='#f00']") + + +def test_displays_org_branding_with_banner(client, mock_get_email_branding): + + response = client.get(url_for('main.email_template', branding_type="org_banner", + branding_style="1")) + + page = BeautifulSoup(response.data.decode("utf-8"), "html.parser") + + assert response.status_code == 200 + mock_get_email_branding.assert_called_once_with('1') + + assert not page.find("a", attrs={"href": "https://www.gov.uk"}) + assert page.find("img", attrs={"src": re.compile("example.png")}) + assert page.select("body > table > tr > td[bgcolor='#f00']")