Don’t show progress once notifications are gone

We work out how complete a job’s processing is by looking at how many
notifications have been created.

Later, we deleted all the notifications, according to the data retention
schedule. This makes it look like the job has gone back to 0% processed.

This commit accounts for this by not showing the % complete message once
a finished job has had its notifications deleted.
This commit is contained in:
Chris Hill-Scott
2019-12-30 16:25:09 +00:00
parent e3b1813ed7
commit d2f976c8ee
3 changed files with 24 additions and 2 deletions

View File

@@ -28,7 +28,7 @@
{% if template.template_type == 'letter' %}
<div class="keyline-block bottom-gutter-1-2">
{% endif %}
{% if percentage_complete < 100 %}
{% if percentage_complete < 100 and job.job_status != 'finished' %}
<p class="{% if template.template_type != 'letter' %}bottom-gutter{% endif %} hint">
Report is {{ "{:.0f}%".format(percentage_complete * 0.99) }} complete…
</p>

View File

@@ -317,6 +317,27 @@ def test_should_show_job_without_notifications(
assert page.select_one('tbody').text.strip() == 'No messages to show'
def test_should_show_old_job(
client_request,
service_one,
active_user_with_permissions,
mock_get_service_template,
mock_get_job,
mocker,
mock_get_notifications_with_no_notifications,
mock_get_service_data_retention,
fake_uuid,
):
page = client_request.get(
'main.view_job',
service_id=service_one['id'],
job_id=fake_uuid,
)
assert not page.select('p.hint')
assert not page.select('a[download]')
assert page.select_one('tbody').text.strip() == 'No messages to show'
@freeze_time("2016-01-01 11:09:00.061258")
def test_should_show_letter_job(
client_request,

View File

@@ -1818,7 +1818,8 @@ def mock_get_job_in_progress(mocker, api_user_active):
return {"data": job_json(
service_id, api_user_active, job_id=job_id,
notification_count=10,
notifications_requested=5
notifications_requested=5,
job_status='processing',
)}
return mocker.patch('app.job_api_client.get_job', side_effect=_get_job)