Add tests for /_email page

This commit is contained in:
Tom Byers
2018-08-07 16:34:04 +01:00
parent d8d48ea801
commit e7ead052ce

View File

@@ -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']")