Tag tickets that haven’t filled volumes

This commit is contained in:
Chris Hill-Scott
2019-02-27 17:15:09 +00:00
parent 5f4280cf81
commit 7ac9884dd5
3 changed files with 38 additions and 1 deletions

View File

@@ -1064,6 +1064,7 @@ def _get_request_to_go_live_tags(service, agreement_signed):
for test, tag in ( for test, tag in (
(True, ''), (True, ''),
(not service.volumes, '_volumes'),
(not service.go_live_checklist_completed, '_checklist'), (not service.go_live_checklist_completed, '_checklist'),
(not agreement_signed, '_mou'), (not agreement_signed, '_mou'),
(service.needs_to_add_email_reply_to_address, '_email_reply_to'), (service.needs_to_add_email_reply_to_address, '_email_reply_to'),

View File

@@ -294,9 +294,18 @@ class Service():
def get_letter_contact_block(self, id): def get_letter_contact_block(self, id):
return service_api_client.get_letter_contact(self.id, id) return service_api_client.get_letter_contact(self.id, id)
@property
def volumes(self):
return sum(filter(None, (
self.volume_email,
self.volume_sms,
self.volume_letter,
)))
@property @property
def go_live_checklist_completed(self): def go_live_checklist_completed(self):
return all(( return all((
bool(self.volumes),
self.has_team_members, self.has_team_members,
self.has_templates, self.has_templates,
not self.needs_to_add_email_reply_to_address, not self.needs_to_add_email_reply_to_address,

View File

@@ -1017,7 +1017,7 @@ def test_non_gov_users_cant_request_to_go_live(
) )
@pytest.mark.parametrize('volumes, displayed_volumes, formatted_displayed_volumes', ( @pytest.mark.parametrize('volumes, displayed_volumes, formatted_displayed_volumes, extra_tags', (
( (
(('email', None), ('sms', None), ('letter', None)), (('email', None), ('sms', None), ('letter', None)),
', , ', ', , ',
@@ -1026,6 +1026,7 @@ def test_non_gov_users_cant_request_to_go_live(
'Text messages in next year: \n' 'Text messages in next year: \n'
'Letters in next year: \n' 'Letters in next year: \n'
), ),
['notify_request_to_go_live_incomplete_volumes']
), ),
( (
(('email', 1234), ('sms', 0), ('letter', 999)), (('email', 1234), ('sms', 0), ('letter', 999)),
@@ -1035,6 +1036,7 @@ def test_non_gov_users_cant_request_to_go_live(
'Text messages in next year: 0\n' 'Text messages in next year: 0\n'
'Letters in next year: 999\n' 'Letters in next year: 999\n'
), ),
[],
), ),
)) ))
@freeze_time("2012-12-21") @freeze_time("2012-12-21")
@@ -1053,6 +1055,7 @@ def test_should_redirect_after_request_to_go_live(
volumes, volumes,
displayed_volumes, displayed_volumes,
formatted_displayed_volumes, formatted_displayed_volumes,
extra_tags,
): ):
for channel, volume in volumes: for channel, volume in volumes:
mocker.patch( mocker.patch(
@@ -1076,6 +1079,7 @@ def test_should_redirect_after_request_to_go_live(
tags=[ tags=[
'notify_request_to_go_live', 'notify_request_to_go_live',
'notify_request_to_go_live_incomplete', 'notify_request_to_go_live_incomplete',
] + extra_tags + [
'notify_request_to_go_live_incomplete_checklist', 'notify_request_to_go_live_incomplete_checklist',
'notify_request_to_go_live_incomplete_mou', 'notify_request_to_go_live_incomplete_mou',
'notify_request_to_go_live_incomplete_team_member', 'notify_request_to_go_live_incomplete_team_member',
@@ -1119,6 +1123,9 @@ def test_should_redirect_after_request_to_go_live(
'has_email_reply_to_address,' 'has_email_reply_to_address,'
'shouldnt_use_govuk_as_sms_sender,' 'shouldnt_use_govuk_as_sms_sender,'
'sms_sender_is_govuk,' 'sms_sender_is_govuk,'
'volume_email,'
'volume_sms,'
'volume_letter,'
'expected_readyness,' 'expected_readyness,'
'agreement_signed,' 'agreement_signed,'
'expected_tags,' 'expected_tags,'
@@ -1132,6 +1139,7 @@ def test_should_redirect_after_request_to_go_live(
True, True,
True, True,
True, True,
1, 1, 1,
'Yes', 'Yes',
True, True,
[ [
@@ -1147,6 +1155,7 @@ def test_should_redirect_after_request_to_go_live(
False, False,
True, True,
True, True,
1, 1, 1,
'No', 'No',
True, True,
[ [
@@ -1164,6 +1173,7 @@ def test_should_redirect_after_request_to_go_live(
True, True,
True, True,
False, False,
1, 1, 1,
'Yes', 'Yes',
True, True,
[ [
@@ -1179,6 +1189,7 @@ def test_should_redirect_after_request_to_go_live(
True, True,
True, True,
True, True,
1, 1, 1,
'No', 'No',
True, True,
[ [
@@ -1196,6 +1207,7 @@ def test_should_redirect_after_request_to_go_live(
True, True,
True, True,
False, False,
1, 1, 1,
'No', 'No',
True, True,
[ [
@@ -1213,6 +1225,7 @@ def test_should_redirect_after_request_to_go_live(
True, True,
True, True,
False, False,
1, 1, 1,
'No', 'No',
True, True,
[ [
@@ -1230,11 +1243,13 @@ def test_should_redirect_after_request_to_go_live(
False, False,
True, True,
True, True,
0, None, 0,
'No', 'No',
False, False,
[ [
'notify_request_to_go_live', 'notify_request_to_go_live',
'notify_request_to_go_live_incomplete', 'notify_request_to_go_live_incomplete',
'notify_request_to_go_live_incomplete_volumes',
'notify_request_to_go_live_incomplete_checklist', 'notify_request_to_go_live_incomplete_checklist',
'notify_request_to_go_live_incomplete_mou', 'notify_request_to_go_live_incomplete_mou',
'notify_request_to_go_live_incomplete_email_reply_to', 'notify_request_to_go_live_incomplete_email_reply_to',
@@ -1255,6 +1270,9 @@ def test_ready_to_go_live(
has_email_reply_to_address, has_email_reply_to_address,
shouldnt_use_govuk_as_sms_sender, shouldnt_use_govuk_as_sms_sender,
sms_sender_is_govuk, sms_sender_is_govuk,
volume_email,
volume_sms,
volume_letter,
expected_readyness, expected_readyness,
agreement_signed, agreement_signed,
expected_tags, expected_tags,
@@ -1273,6 +1291,15 @@ def test_ready_to_go_live(
new_callable=PropertyMock new_callable=PropertyMock
).return_value = locals()[prop] ).return_value = locals()[prop]
mocker.patch(
'app.models.service.Service.__getattr__',
side_effect=lambda prop: {
'volume_email': volume_email,
'volume_sms': volume_sms,
'volume_letter': volume_letter,
}.get(prop)
)
assert app.models.service.Service({ assert app.models.service.Service({
'id': SERVICE_ONE_ID 'id': SERVICE_ONE_ID
}).go_live_checklist_completed_as_yes_no == expected_readyness }).go_live_checklist_completed_as_yes_no == expected_readyness