mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 07:35:34 -05:00
Merge pull request #1251 from alphagov/updating-service_sms_senders
Insert or update service sms senders
This commit is contained in:
29
tests/app/dao/test_service_sms_sender_dao.py
Normal file
29
tests/app/dao/test_service_sms_sender_dao.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from app.dao.service_sms_sender_dao import insert_or_update_service_sms_sender
|
||||
from app.models import ServiceSmsSender
|
||||
from tests.app.db import create_service
|
||||
|
||||
|
||||
def test_update_service_sms_sender_updates_existing_row(notify_db_session):
|
||||
service = create_service()
|
||||
insert_or_update_service_sms_sender(service, 'testing')
|
||||
service_sms_senders = ServiceSmsSender.query.filter_by(service_id=service.id).all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == service.sms_sender
|
||||
|
||||
insert_or_update_service_sms_sender(service, 'NEW_SMS')
|
||||
|
||||
updated_sms_senders = ServiceSmsSender.query.filter_by(service_id=service.id).all()
|
||||
assert len(updated_sms_senders) == 1
|
||||
assert updated_sms_senders[0].sms_sender == 'NEW_SMS'
|
||||
assert updated_sms_senders[0].is_default
|
||||
|
||||
|
||||
def test_create_service_inserts_new_service_sms_sender(notify_db_session):
|
||||
assert ServiceSmsSender.query.count() == 0
|
||||
|
||||
service = create_service(sms_sender='new_sms')
|
||||
insert_or_update_service_sms_sender(service, 'new_sms')
|
||||
service_sms_senders = ServiceSmsSender.query.all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == 'new_sms'
|
||||
assert service_sms_senders[0].is_default
|
||||
@@ -1,10 +1,5 @@
|
||||
import pytest
|
||||
|
||||
from flask import url_for
|
||||
import json
|
||||
|
||||
from app.models import InboundNumber
|
||||
from app.dao.inbound_numbers_dao import dao_get_inbound_number_for_service
|
||||
from app.models import ServiceSmsSender
|
||||
|
||||
from tests.app.db import create_service, create_inbound_number
|
||||
|
||||
@@ -115,3 +110,22 @@ def test_rest_set_inbound_number_active_flag_off(
|
||||
|
||||
inbound_number_from_db = dao_get_inbound_number_for_service(service.id)
|
||||
assert not inbound_number_from_db.active
|
||||
|
||||
|
||||
def test_allocate_inbound_number_insert_update_service_sms_sender(
|
||||
admin_request, notify_db_session
|
||||
):
|
||||
service = create_service()
|
||||
inbound_number = create_inbound_number(number='123')
|
||||
|
||||
admin_request.post(
|
||||
'inbound_number.post_allocate_inbound_number',
|
||||
_expected_status=204,
|
||||
service_id=service.id
|
||||
)
|
||||
|
||||
service_sms_senders = ServiceSmsSender.query.all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == inbound_number.number
|
||||
assert service_sms_senders[0].inbound_number_id == inbound_number.id
|
||||
assert service_sms_senders[0].is_default
|
||||
|
||||
@@ -16,7 +16,7 @@ from app.models import (
|
||||
DVLA_ORG_LAND_REGISTRY,
|
||||
KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST,
|
||||
EMAIL_TYPE, SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INBOUND_SMS_TYPE,
|
||||
)
|
||||
ServiceSmsSender)
|
||||
from tests import create_authorization_header
|
||||
from tests.app.conftest import (
|
||||
sample_service as create_service,
|
||||
@@ -282,6 +282,10 @@ def test_create_service(client, sample_user):
|
||||
assert json_resp['data']['name'] == 'created service'
|
||||
assert not json_resp['data']['research_mode']
|
||||
|
||||
service_sms_senders = ServiceSmsSender.query.filter_by(service_id=service_db.id).all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == service_db.sms_sender
|
||||
|
||||
|
||||
def test_should_not_create_service_with_missing_user_id_field(notify_api, fake_uuid):
|
||||
with notify_api.test_request_context():
|
||||
@@ -1390,6 +1394,10 @@ def test_set_sms_sender_for_service(client, sample_service):
|
||||
result = json.loads(resp.get_data(as_text=True))
|
||||
assert resp.status_code == 200
|
||||
assert result['data']['sms_sender'] == 'elevenchars'
|
||||
service_sms_senders = ServiceSmsSender.query.filter_by(service_id=sample_service.id).all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == 'elevenchars'
|
||||
assert service_sms_senders[0].is_default
|
||||
|
||||
|
||||
def test_set_sms_sender_for_service_rejects_invalid_characters(client, sample_service):
|
||||
|
||||
Reference in New Issue
Block a user