mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-12 09:24:15 -04:00
Merge pull request #4124 from alphagov/format-inbound-sms-download
Format phone numbers with spaces in download of received text messages
This commit is contained in:
@@ -15,6 +15,7 @@ from flask import (
|
||||
url_for,
|
||||
)
|
||||
from flask_login import current_user
|
||||
from notifications_utils.recipients import format_phone_number_human_readable
|
||||
from werkzeug.utils import redirect
|
||||
|
||||
from app import (
|
||||
@@ -202,7 +203,7 @@ def inbox_download(service_id):
|
||||
'Message',
|
||||
'Received',
|
||||
]] + [[
|
||||
message['user_number'],
|
||||
format_phone_number_human_readable(message['user_number']),
|
||||
message['content'].lstrip(('=+-@')),
|
||||
format_datetime_numeric(message['created_at']),
|
||||
] for message in service_api_client.get_inbound_sms(service_id)['data']]
|
||||
|
||||
@@ -364,6 +364,30 @@ def org_invite_json(id_, invited_by, org_id, email_address, created_at, status):
|
||||
}
|
||||
|
||||
|
||||
def inbound_sms_json():
|
||||
return {
|
||||
'has_next': True,
|
||||
'data': [{
|
||||
'user_number': phone_number,
|
||||
'notify_number': '07900000002',
|
||||
'content': f'message-{index + 1}',
|
||||
'created_at': (
|
||||
datetime.utcnow() - timedelta(minutes=60 * hours_ago, seconds=index)
|
||||
).isoformat(),
|
||||
'id': sample_uuid(),
|
||||
} for index, hours_ago, phone_number in (
|
||||
(0, 1, '447900900000'),
|
||||
(1, 1, '07900900000'),
|
||||
(2, 1, '07900900000'),
|
||||
(3, 3, '07900900002'),
|
||||
(4, 5, '33(0)1 12345678'), # France
|
||||
(5, 7, '1-202-555-0104'), # USA in one format
|
||||
(6, 9, '+12025550104'), # USA in another format
|
||||
(7, 9, '+68212345'), # Cook Islands
|
||||
)]
|
||||
}
|
||||
|
||||
|
||||
TEST_USER_EMAIL = 'test@user.gov.uk'
|
||||
|
||||
|
||||
|
||||
@@ -268,10 +268,10 @@ def test_inbound_messages_shows_count_of_messages_when_there_are_no_messages(
|
||||
'07900 900000 message-2 1 hour ago',
|
||||
'07900 900000 message-3 1 hour ago',
|
||||
'07900 900002 message-4 3 hours ago',
|
||||
'07900 900004 message-5 5 hours ago',
|
||||
'07900 900006 message-6 7 hours ago',
|
||||
'07900 900008 message-7 9 hours ago',
|
||||
'07900 900008 message-8 9 hours ago',
|
||||
'+33 1 12 34 56 78 message-5 5 hours ago',
|
||||
'+1 202-555-0104 message-6 7 hours ago',
|
||||
'+1 202-555-0104 message-7 9 hours ago',
|
||||
'+682 12345 message-8 9 hours ago',
|
||||
]))
|
||||
def test_inbox_showing_inbound_messages(
|
||||
client_request,
|
||||
@@ -434,14 +434,14 @@ def test_download_inbox(
|
||||
)
|
||||
assert response.get_data(as_text=True) == (
|
||||
'Phone number,Message,Received\r\n'
|
||||
'07900900000,message-1,2016-07-01 13:00\r\n'
|
||||
'07900900000,message-2,2016-07-01 12:59\r\n'
|
||||
'07900900000,message-3,2016-07-01 12:59\r\n'
|
||||
'07900900002,message-4,2016-07-01 10:59\r\n'
|
||||
'07900900004,message-5,2016-07-01 08:59\r\n'
|
||||
'07900900006,message-6,2016-07-01 06:59\r\n'
|
||||
'07900900008,message-7,2016-07-01 04:59\r\n'
|
||||
'07900900008,message-8,2016-07-01 04:59\r\n'
|
||||
'07900 900000,message-1,2016-07-01 13:00\r\n'
|
||||
'07900 900000,message-2,2016-07-01 12:59\r\n'
|
||||
'07900 900000,message-3,2016-07-01 12:59\r\n'
|
||||
'07900 900002,message-4,2016-07-01 10:59\r\n'
|
||||
'+33 1 12 34 56 78,message-5,2016-07-01 08:59\r\n'
|
||||
'+1 202-555-0104,message-6,2016-07-01 06:59\r\n'
|
||||
'+1 202-555-0104,message-7,2016-07-01 04:59\r\n'
|
||||
'+682 12345,message-8,2016-07-01 04:59\r\n'
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ from . import (
|
||||
broadcast_message_json,
|
||||
contact_list_json,
|
||||
generate_uuid,
|
||||
inbound_sms_json,
|
||||
invite_json,
|
||||
job_json,
|
||||
notification_json,
|
||||
@@ -2021,16 +2022,7 @@ def mock_get_inbound_sms(mocker):
|
||||
user_number=None,
|
||||
page=1
|
||||
):
|
||||
return {
|
||||
'has_next': True,
|
||||
'data': [{
|
||||
'user_number': '0790090000' + str(i),
|
||||
'notify_number': '07900000002',
|
||||
'content': 'message-{}'.format(index + 1),
|
||||
'created_at': (datetime.utcnow() - timedelta(minutes=60 * (i + 1), seconds=index)).isoformat(),
|
||||
'id': sample_uuid(),
|
||||
} for index, i in enumerate([0, 0, 0, 2, 4, 6, 8, 8])]
|
||||
}
|
||||
return inbound_sms_json()
|
||||
|
||||
return mocker.patch(
|
||||
'app.service_api_client.get_inbound_sms',
|
||||
@@ -2059,16 +2051,7 @@ def mock_get_most_recent_inbound_sms(mocker):
|
||||
user_number=None,
|
||||
page=1
|
||||
):
|
||||
return {
|
||||
'has_next': True,
|
||||
'data': [{
|
||||
'user_number': '0790090000' + str(i),
|
||||
'notify_number': '07900000002',
|
||||
'content': 'message-{}'.format(index + 1),
|
||||
'created_at': (datetime.utcnow() - timedelta(minutes=60 * (i + 1), seconds=index)).isoformat(),
|
||||
'id': sample_uuid(),
|
||||
} for index, i in enumerate([0, 0, 0, 2, 4, 6, 8, 8])]
|
||||
}
|
||||
return inbound_sms_json()
|
||||
|
||||
return mocker.patch(
|
||||
'app.service_api_client.get_most_recent_inbound_sms',
|
||||
|
||||
Reference in New Issue
Block a user