ensure the user_number in inbound sms is international

rather than using the `normalise_phone_number` function, use the
`validate_and_format_phone_number` function - this will also convert
all numbers to international format, which means we won't need to
worry about whether the user enters internaional or UK phone numbers
when searching
This commit is contained in:
Leo Hemsted
2017-06-02 12:57:28 +01:00
parent ef52337d85
commit bf18b179b0
5 changed files with 19 additions and 12 deletions

View File

@@ -190,7 +190,7 @@ def create_service_permission(service_id, permission=EMAIL_TYPE):
def create_inbound_sms(
service,
notify_number=None,
user_number='7700900111',
user_number='447700900111',
provider_date=None,
provider_reference=None,
content='Hello'

View File

@@ -1,5 +1,6 @@
from datetime import datetime
import pytest
from freezegun import freeze_time
from tests.app.db import create_inbound_sms, create_service
@@ -46,14 +47,19 @@ def test_get_inbound_sms_limits(admin_request, sample_service):
assert sms['data'][0]['id'] == str(two.id)
def test_get_inbound_sms_filters_user_number(admin_request, sample_service):
# user_number in the db is normalised
one = create_inbound_sms(sample_service, user_number='7700900001')
two = create_inbound_sms(sample_service, user_number='7700900002')
@pytest.mark.parametrize('user_number', [
'(07700) 900-001',
'+4407700900001',
'447700900001',
])
def test_get_inbound_sms_filters_user_number(admin_request, sample_service, user_number):
# user_number in the db is international and normalised
one = create_inbound_sms(sample_service, user_number='447700900001')
two = create_inbound_sms(sample_service, user_number='447700900002')
sms = admin_request.get(
'inbound_sms.get_inbound_sms_for_service',
endpoint_kwargs={'service_id': sample_service.id, 'user_number': '(07700) 900-001'}
endpoint_kwargs={'service_id': sample_service.id, 'user_number': user_number}
)
assert len(sms['data']) == 1

View File

@@ -63,7 +63,7 @@ def test_create_inbound_mmg_sms_object(sample_service):
assert inbound_sms.service_id == sample_service.id
assert inbound_sms.notify_number == 'foo'
assert inbound_sms.user_number == '7700900001'
assert inbound_sms.user_number == '447700900001'
assert inbound_sms.provider_date == datetime(2017, 1, 2, 3, 4, 5)
assert inbound_sms.provider_reference == 'bar'
assert inbound_sms._content != 'hello there 📩'