mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-05 21:48:26 -04:00
Upsert into letter contact table when updating a service's letter contact block
This commit is contained in:
@@ -46,8 +46,14 @@ from app.dao.service_whitelist_dao import (
|
|||||||
dao_add_and_commit_whitelisted_contacts,
|
dao_add_and_commit_whitelisted_contacts,
|
||||||
dao_remove_service_whitelist
|
dao_remove_service_whitelist
|
||||||
)
|
)
|
||||||
from app.dao.service_email_reply_to_dao import create_or_update_email_reply_to, dao_get_reply_to_by_service_id, \
|
from app.dao.service_email_reply_to_dao import (
|
||||||
add_reply_to_email_address_for_service, update_reply_to_email_address, dao_get_reply_to_by_id
|
add_reply_to_email_address_for_service,
|
||||||
|
create_or_update_email_reply_to,
|
||||||
|
dao_get_reply_to_by_id,
|
||||||
|
dao_get_reply_to_by_service_id,
|
||||||
|
update_reply_to_email_address
|
||||||
|
)
|
||||||
|
from app.dao.service_letter_contact_dao import create_or_update_letter_contact
|
||||||
from app.dao.provider_statistics_dao import get_fragment_count
|
from app.dao.provider_statistics_dao import get_fragment_count
|
||||||
from app.dao.users_dao import get_user_by_id
|
from app.dao.users_dao import get_user_by_id
|
||||||
from app.errors import (
|
from app.errors import (
|
||||||
@@ -151,6 +157,9 @@ def update_service(service_id):
|
|||||||
if 'sms_sender' in req_json:
|
if 'sms_sender' in req_json:
|
||||||
insert_or_update_service_sms_sender(fetched_service, req_json['sms_sender'])
|
insert_or_update_service_sms_sender(fetched_service, req_json['sms_sender'])
|
||||||
|
|
||||||
|
if 'letter_contact_block' in req_json:
|
||||||
|
create_or_update_letter_contact(fetched_service.id, req_json['letter_contact_block'])
|
||||||
|
|
||||||
if service_going_live:
|
if service_going_live:
|
||||||
send_notification_to_service_users(
|
send_notification_to_service_users(
|
||||||
service_id=service_id,
|
service_id=service_id,
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from app.dao.services_dao import dao_remove_user_from_service
|
|||||||
from app.dao.templates_dao import dao_redact_template
|
from app.dao.templates_dao import dao_redact_template
|
||||||
from app.dao.users_dao import save_model_user
|
from app.dao.users_dao import save_model_user
|
||||||
from app.models import (
|
from app.models import (
|
||||||
User, Organisation, Service, ServicePermission, Notification, ServiceEmailReplyTo,
|
User, Organisation, Service, ServicePermission, Notification, ServiceEmailReplyTo, ServiceLetterContact,
|
||||||
DVLA_ORG_LAND_REGISTRY,
|
DVLA_ORG_LAND_REGISTRY,
|
||||||
KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST,
|
KEY_TYPE_NORMAL, KEY_TYPE_TEAM, KEY_TYPE_TEST,
|
||||||
EMAIL_TYPE, SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INBOUND_SMS_TYPE,
|
EMAIL_TYPE, SMS_TYPE, LETTER_TYPE, INTERNATIONAL_SMS_TYPE, INBOUND_SMS_TYPE,
|
||||||
@@ -2301,3 +2301,21 @@ def test_get_email_reply_to_address(client, notify_db, notify_db_session):
|
|||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert json.loads(response.get_data(as_text=True)) == reply_to.serialize()
|
assert json.loads(response.get_data(as_text=True)) == reply_to.serialize()
|
||||||
|
|
||||||
|
|
||||||
|
def test_update_service_letter_contact_upserts_letter_contact(admin_request, sample_service):
|
||||||
|
response = admin_request.post(
|
||||||
|
'service.update_service',
|
||||||
|
service_id=sample_service.id,
|
||||||
|
_data={
|
||||||
|
'letter_contact_block': 'Aberdeen, AB23 1XH'
|
||||||
|
},
|
||||||
|
_expected_status=200
|
||||||
|
)
|
||||||
|
|
||||||
|
letter_contacts = ServiceLetterContact.query.all()
|
||||||
|
|
||||||
|
assert len(letter_contacts) == 1
|
||||||
|
assert letter_contacts[0].contact_block == 'Aberdeen, AB23 1XH'
|
||||||
|
assert letter_contacts[0].is_default
|
||||||
|
assert response['data']['letter_contact_block'] == 'Aberdeen, AB23 1XH'
|
||||||
|
|||||||
Reference in New Issue
Block a user