From 62868bc0149bc00fbe81f96c14b0a5d913698c2a Mon Sep 17 00:00:00 2001 From: Leo Hemsted Date: Fri, 9 Sep 2016 16:30:07 +0100 Subject: [PATCH] add test for id appearing in notification table use new pytest yield fixture --- tests/__init__.py | 1 + tests/app/main/views/test_jobs.py | 24 +++++++++++++++++++++++- tests/conftest.py | 6 ++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/tests/__init__.py b/tests/__init__.py index a3cb0da0c..d91d80cd0 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -225,6 +225,7 @@ def notification_json( data = { 'notifications': [{ + 'id': uuid.uuid4(), 'to': to, 'template': { 'id': template['id'], diff --git a/tests/app/main/views/test_jobs.py b/tests/app/main/views/test_jobs.py index 547046c4a..4d9f7de52 100644 --- a/tests/app/main/views/test_jobs.py +++ b/tests/app/main/views/test_jobs.py @@ -1,4 +1,5 @@ import json +import uuid from urllib.parse import quote import pytest @@ -61,7 +62,6 @@ def test_should_show_page_for_one_job( status_argument, expected_api_call ): - file_name = mock_get_job(service_one['id'], fake_uuid)['data']['original_file_name'] with app_.test_request_context(), app_.test_client() as client: client.login(active_user_with_permissions, mocker, service_one) response = client.get(url_for( @@ -451,3 +451,25 @@ def test_get_status_filters_constructs_links(app_): link = ret[0][2] assert link == '/services/foo/notifications/sms?status={}'.format(quote('sending,delivered,failed')) + + +def test_html_contains_notification_id( + client, + service_one, + active_user_with_permissions, + mock_get_notifications, + mock_get_detailed_service, + mocker +): + client.login(active_user_with_permissions, mocker, service_one) + response = client.get(url_for( + 'main.view_notifications', + service_id=service_one['id'], + message_type='sms', + status='') + ) + assert response.status_code == 200 + page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') + notifications = page.tbody.find_all('tr') + for tr in notifications: + assert uuid.UUID(tr.attrs['id']) diff --git a/tests/conftest.py b/tests/conftest.py index c250abdf2..c884da70e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1202,3 +1202,9 @@ def mock_get_organisation(mocker): return mocker.patch( 'app.organisations_client.get_organisation', side_effect=_get_organisation ) + + +@pytest.fixture(scope='function') +def client(app_): + with app_.test_request_context(), app_.test_client() as client: + yield client