Merge pull request #937 from alphagov/id-in-table

Show notification ID in notification table
This commit is contained in:
Chris Hill-Scott
2016-09-12 15:39:21 +01:00
committed by GitHub
7 changed files with 40 additions and 44 deletions

View File

@@ -28,7 +28,7 @@
{% call mapping_table(caption, field_headings, field_headings_visible, caption_visible) %}
{% for item in items %}
{% call row() %}
{% call row(item.id) %}
{{ parent_caller(item, loop.index + 1) }}
{% endcall %}
{% endfor %}
@@ -43,8 +43,8 @@
{%- endmacro %}
{% macro row() -%}
<tr class="table-row">
{% macro row(id=None) -%}
<tr class="table-row" {% if id %}id="{{id}}"{% endif %}>
{{ caller() }}
</tr>
{%- endmacro %}

View File

@@ -1,33 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/sms-message.html" import sms_message, message_status %}
{% from "components/banner.html" import banner %}
{% from "components/page-footer.html" import page_footer %}
{% block page_title %}
Text message GOV.UK Notify
{% endblock %}
{% block maincolumn_content %}
<h1 class="heading-large">
Text message
</h1>
<div class="grid-row">
<div class="column-two-thirds">
{{ sms_message(message.message, message.phone) }}
</div>
<div class="column-one-third">
{{ banner(
"{} {}".format(message.status, delivered_at)
) }}
</div>
</div>
{{ page_footer(
secondary_link = url_for('.view_job', service_id=current_service.id, job_id=job_id),
secondary_link_text = 'View other messages in this job'
) }}
{% endblock %}

View File

@@ -1,11 +1,11 @@
-r requirements.txt
pep8==1.7.0
pytest==2.9.1
pytest-mock==0.11.0
pytest-cov==2.2.1
pytest==3.0.2
pytest-mock==1.2
pytest-cov==2.3.1
pytest-xdist==1.14
coveralls==1.1
moto==0.4.23
moto==0.4.25
httpretty==0.8.14
beautifulsoup4==4.4.1
freezegun==0.3.6
beautifulsoup4==4.5.1
freezegun==0.3.7

View File

@@ -2,5 +2,5 @@
max-line-length = 120
exclude = ./migrations,./venv,./venv3,./node_modules,./bower_components
[pytest]
[tool:pytest]
norecursedirs = node_modules bower_components

View File

@@ -225,6 +225,7 @@ def notification_json(
data = {
'notifications': [{
'id': uuid.uuid4(),
'to': to,
'template': {
'id': template['id'],

View File

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

View File

@@ -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