remove LETTER_TYPE from NOTIFICATION_TYPES

This commit is contained in:
stvnrlly
2023-02-24 15:30:05 -05:00
parent 0a3260c030
commit f55b7bf931
6 changed files with 24 additions and 44 deletions

View File

@@ -25,7 +25,6 @@ from app.models import (
KEY_TYPE_NORMAL,
KEY_TYPE_TEAM,
KEY_TYPE_TEST,
LETTER_TYPE,
SMS_TYPE,
AnnualBilling,
EmailBranding,
@@ -1947,7 +1946,7 @@ def test_get_detailed_service(sample_template, client, sample_service, today_onl
service = resp.json['data']
assert service['id'] == str(sample_service.id)
assert 'statistics' in service.keys()
assert set(service['statistics'].keys()) == {SMS_TYPE, EMAIL_TYPE, LETTER_TYPE}
assert set(service['statistics'].keys()) == {SMS_TYPE, EMAIL_TYPE}
assert service['statistics'][SMS_TYPE] == stats
@@ -1971,7 +1970,7 @@ def test_get_services_with_detailed_flag(client, sample_template):
assert data[0]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 0, 'failed': 0, 'requested': 3},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
@@ -1994,7 +1993,7 @@ def test_get_services_with_detailed_flag_excluding_from_test_key(client, sample_
assert data[0]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 0, 'failed': 0, 'requested': 2},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
@@ -2055,13 +2054,13 @@ def test_get_detailed_services_groups_by_service(notify_db_session):
assert data[0]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 1, 'failed': 0, 'requested': 3},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
assert data[1]['id'] == str(service_2.id)
assert data[1]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 0, 'failed': 0, 'requested': 1},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
@@ -2084,13 +2083,13 @@ def test_get_detailed_services_includes_services_with_no_notifications(notify_db
assert data[0]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 0, 'failed': 0, 'requested': 1},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
assert data[1]['id'] == str(service_2.id)
assert data[1]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
@@ -2110,7 +2109,7 @@ def test_get_detailed_services_only_includes_todays_notifications(sample_templat
assert data[0]['statistics'] == {
EMAIL_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0},
SMS_TYPE: {'delivered': 0, 'failed': 0, 'requested': 3},
LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
# LETTER_TYPE: {'delivered': 0, 'failed': 0, 'requested': 0}
}
@@ -2144,7 +2143,7 @@ def test_get_detailed_services_for_date_range(sample_template, start_date_delta,
assert len(data) == 1
assert data[0]['statistics'][EMAIL_TYPE] == {'delivered': 0, 'failed': 0, 'requested': 0}
assert data[0]['statistics'][SMS_TYPE] == {'delivered': 2, 'failed': 0, 'requested': 2}
assert data[0]['statistics'][LETTER_TYPE] == {'delivered': 0, 'failed': 0, 'requested': 0}
# assert data[0]['statistics'][LETTER_TYPE] == {'delivered': 0, 'failed': 0, 'requested': 0}
def test_search_for_notification_by_to_field(client, sample_template, sample_email_template):

View File

@@ -28,17 +28,12 @@ NewStatsRow = collections.namedtuple('row', ('notification_type', 'status', 'key
'dont_mix_template_types': ([
StatsRow('email', 'delivered', 1),
StatsRow('sms', 'delivered', 1),
StatsRow('letter', 'delivered', 1)
], [1, 1, 0], [1, 1, 0], [1, 1, 0]),
'convert_fail_statuses_to_failed': ([
StatsRow('email', 'failed', 1),
StatsRow('email', 'technical-failure', 1),
StatsRow('email', 'temporary-failure', 1),
StatsRow('email', 'permanent-failure', 1),
StatsRow('letter', 'validation-failed', 1),
StatsRow('letter', 'virus-scan-failed', 1),
StatsRow('letter', 'permanent-failure', 1),
StatsRow('letter', 'cancelled', 1),
], [4, 0, 4], [0, 0, 0], [3, 0, 3]),
'convert_sent_to_delivered': ([
StatsRow('sms', 'sending', 1),
@@ -66,18 +61,11 @@ def test_format_statistics(stats, email_counts, sms_counts, letter_counts):
in zip(['requested', 'delivered', 'failed'], sms_counts)
}
assert ret['letter'] == {
status: count
for status, count
in zip(['requested', 'delivered', 'failed'], letter_counts)
}
def test_create_zeroed_stats_dicts():
assert create_zeroed_stats_dicts() == {
'sms': {'requested': 0, 'delivered': 0, 'failed': 0},
'email': {'requested': 0, 'delivered': 0, 'failed': 0},
'letter': {'requested': 0, 'delivered': 0, 'failed': 0},
}
@@ -166,7 +154,7 @@ def test_create_empty_monthly_notification_status_stats_dict(year, expected_year
output = create_empty_monthly_notification_status_stats_dict(year)
assert sorted(output.keys()) == expected_years
for v in output.values():
assert v == {'sms': {}, 'email': {}, 'letter': {}}
assert v == {'sms': {}, 'email': {}}
@freeze_time('2018-06-01 04:59:59')
@@ -194,7 +182,7 @@ def test_add_monthly_notification_status_stats():
add_monthly_notification_status_stats(data, rows)
assert data == {
'2018-04': {'sms': {'sending': 1, 'delivered': 2}, 'email': {'sending': 4}, 'letter': {}},
'2018-05': {'sms': {'sending': 24}, 'email': {'sending': 32}, 'letter': {}},
'2018-06': {'sms': {}, 'email': {}, 'letter': {}},
'2018-04': {'sms': {'sending': 1, 'delivered': 2}, 'email': {'sending': 4}},
'2018-05': {'sms': {'sending': 24}, 'email': {'sending': 32}},
'2018-06': {'sms': {}, 'email': {}},
}

View File

@@ -9,7 +9,6 @@ from app.models import (
KEY_TYPE_NORMAL,
KEY_TYPE_TEAM,
KEY_TYPE_TEST,
LETTER_TYPE,
SMS_TYPE,
)
from tests.app.db import (
@@ -109,7 +108,7 @@ def test_get_service_notification_statistics(admin_request, sample_service, samp
today_only=today_only
)
assert set(resp['data'].keys()) == {SMS_TYPE, EMAIL_TYPE, LETTER_TYPE}
assert set(resp['data'].keys()) == {SMS_TYPE, EMAIL_TYPE}
assert resp['data'][SMS_TYPE] == stats
@@ -122,7 +121,6 @@ def test_get_service_notification_statistics_with_unknown_service(admin_request)
assert resp['data'] == {
SMS_TYPE: {'requested': 0, 'delivered': 0, 'failed': 0},
EMAIL_TYPE: {'requested': 0, 'delivered': 0, 'failed': 0},
LETTER_TYPE: {'requested': 0, 'delivered': 0, 'failed': 0},
}
@@ -163,7 +161,7 @@ def test_get_monthly_notification_stats_returns_empty_stats_with_correct_dates(a
]
assert sorted(response['data'].keys()) == keys
for val in response['data'].values():
assert val == {'sms': {}, 'email': {}, 'letter': {}}
assert val == {'sms': {}, 'email': {}}
def test_get_monthly_notification_stats_returns_stats(admin_request, sample_service):
@@ -191,8 +189,7 @@ def test_get_monthly_notification_stats_returns_stats(admin_request, sample_serv
# it combines the two days
'delivered': 2
},
'email': {},
'letter': {}
'email': {}
}
assert response['data']['2016-07'] == {
# it combines the two template types
@@ -202,8 +199,7 @@ def test_get_monthly_notification_stats_returns_stats(admin_request, sample_serv
},
'email': {
'delivered': 1
},
'letter': {}
}
}
@@ -229,8 +225,7 @@ def test_get_monthly_notification_stats_combines_todays_data_and_historic_stats(
'sms': {
'delivered': 1
},
'email': {},
'letter': {}
'email': {}
}
assert response['data']['2016-06'] == {
'sms': {
@@ -238,8 +233,7 @@ def test_get_monthly_notification_stats_combines_todays_data_and_historic_stats(
'created': 3,
'delivered': 1,
},
'email': {},
'letter': {}
'email': {}
}
@@ -280,6 +274,5 @@ def test_get_monthly_notification_stats_only_gets_for_one_service(admin_request,
assert response['data']['2016-06'] == {
'sms': {'created': 1},
'email': {},
'letter': {}
'email': {}
}

View File

@@ -343,7 +343,7 @@ def test_get_all_notifications_filter_by_template_type_invalid_template_type(cli
assert json_response['status_code'] == 400
assert len(json_response['errors']) == 1
assert json_response['errors'][0]['message'] == "template_type orange is not one of [sms, email, letter]"
assert json_response['errors'][0]['message'] == "template_type orange is not one of [sms, email]"
def test_get_all_notifications_filter_by_single_status(client, sample_template):

View File

@@ -67,7 +67,7 @@ def test_get_notifications_request_invalid_statuses(
def test_get_notifications_request_invalid_template_types(
invalid_template_types, valid_template_types
):
partial_error_template_type = "is not one of [sms, email, letter]"
partial_error_template_type = "is not one of [sms, email]"
with pytest.raises(ValidationError) as e:
validate({'template_type': invalid_template_types + valid_template_types}, get_notifications_request)
@@ -98,7 +98,7 @@ def test_get_notifications_request_invalid_statuses_and_template_types():
) in error_messages
for invalid_template_type in ["orange", "avocado"]:
assert "template_type {} is not one of [sms, email, letter]" \
assert "template_type {} is not one of [sms, email]" \
.format(invalid_template_type) in error_messages