diff --git a/app/models.py b/app/models.py index 469bfff4a..6331c9076 100644 --- a/app/models.py +++ b/app/models.py @@ -14,6 +14,7 @@ from sqlalchemy import UniqueConstraint, CheckConstraint from notifications_utils.recipients import ( validate_email_address, validate_phone_number, + try_validate_and_format_phone_number, InvalidPhoneError, InvalidEmailError ) @@ -636,7 +637,7 @@ class TemplateBase(db.Model): elif self.template_type == EMAIL_TYPE: return self.service.get_default_reply_to_email_address() elif self.template_type == SMS_TYPE: - return self.service.get_default_sms_sender() + return try_validate_and_format_phone_number(self.service.get_default_sms_sender()) else: return None diff --git a/tests/app/celery/test_tasks.py b/tests/app/celery/test_tasks.py index 882fc5b9f..18f1fa9e5 100644 --- a/tests/app/celery/test_tasks.py +++ b/tests/app/celery/test_tasks.py @@ -1081,6 +1081,25 @@ def test_save_letter_uses_template_reply_to_text(mocker, notify_db_session): assert notification_db.reply_to_text == "Template address contact" +def test_save_sms_uses_sms_sender_reply_to_text(mocker, notify_db_session): + service = create_service_with_defined_sms_sender(sms_sender_value='07123123123') + template = create_template(service=service) + + notification = _notification_json(template, to="07700 900205") + mocker.patch('app.celery.provider_tasks.deliver_sms.apply_async') + + notification_id = uuid.uuid4() + save_sms( + service.id, + notification_id, + encryption.encrypt(notification), + key_type=KEY_TYPE_TEST + ) + + persisted_notification = Notification.query.one() + assert persisted_notification.reply_to_text == '447123123123' + + def test_save_letter_calls_update_noti_to_sent_task_with_letters_as_pdf_permission_in_research_mode( mocker, notify_db_session, sample_letter_job): sample_letter_job.service.research_mode = True