ensure create_email_branding is mocked in tests

also fix asserts to check status codes (to make sure it's not 500)
This commit is contained in:
Leo Hemsted
2018-05-03 15:55:57 +01:00
parent 236339435c
commit 7656d3d567

View File

@@ -257,7 +257,12 @@ def test_temp_logo_is_shown_after_uploading_logo(
assert page.select_one('#logo-img > img').attrs['src'].endswith(temp_filename) assert page.select_one('#logo-img > img').attrs['src'].endswith(temp_filename)
def test_logo_persisted_when_organisation_saved(logged_in_platform_admin_client, mocker, fake_uuid): def test_logo_persisted_when_organisation_saved(
logged_in_platform_admin_client,
mock_create_email_branding,
mocker,
fake_uuid
):
with logged_in_platform_admin_client.session_transaction() as session: with logged_in_platform_admin_client.session_transaction() as session:
user_id = session["user_id"] user_id = session["user_id"]
@@ -268,28 +273,31 @@ def test_logo_persisted_when_organisation_saved(logged_in_platform_admin_client,
mocked_persist_logo = mocker.patch('app.main.views.email_branding.persist_logo', return_value='test.png') mocked_persist_logo = mocker.patch('app.main.views.email_branding.persist_logo', return_value='test.png')
mocked_delete_temp_files_by = mocker.patch('app.main.views.email_branding.delete_temp_files_created_by') mocked_delete_temp_files_by = mocker.patch('app.main.views.email_branding.delete_temp_files_created_by')
logged_in_platform_admin_client.post( resp = logged_in_platform_admin_client.post(
url_for('.create_email_branding', logo=temp_filename), url_for('.create_email_branding', logo=temp_filename),
content_type='multipart/form-data' content_type='multipart/form-data'
) )
assert resp.status_code == 302
assert not mocked_upload_logo.called assert not mocked_upload_logo.called
assert mocked_persist_logo.called assert mocked_persist_logo.called
assert mocked_delete_temp_files_by.called assert mocked_delete_temp_files_by.called
assert mocked_delete_temp_files_by.call_args == call(user_id) assert mocked_delete_temp_files_by.call_args == call(user_id)
assert mock_create_email_branding.called
@pytest.mark.parametrize('colour_hex, form_validates', [ @pytest.mark.parametrize('colour_hex, expected_status_code', [
('#FF00FF', True), ('#FF00FF', 302),
('hello', False), ('hello', 200),
('', True), ('', 302),
]) ])
def test_colour_regex_validation( def test_colour_regex_validation(
logged_in_platform_admin_client, logged_in_platform_admin_client,
mocker, mocker,
fake_uuid, fake_uuid,
colour_hex, colour_hex,
form_validates, expected_status_code,
mock_create_email_branding mock_create_email_branding
): ):
data = { data = {
@@ -306,4 +314,4 @@ def test_colour_regex_validation(
data=data data=data
) )
assert (response.status_code == 302) == form_validates assert response.status_code == expected_status_code