def test_archive_sms_sender_raises_an_error_if_attempting_to_archive_a_default( notify_db_session): service = create_service() sms_sender = service.service_sms_senders[0] with pytest.raises(ArchiveValidationError) as e: archive_sms_sender(service_id=service.id, sms_sender_id=sms_sender.id) assert 'You cannot delete a default sms sender' in str(e.value)
def test_archive_sms_sender_does_not_archive_a_sender_for_a_different_service( sample_service): service = create_service(service_name="First service") sms_sender = dao_add_sms_sender_for_service(service_id=sample_service.id, sms_sender='second', is_default=False) with pytest.raises(SQLAlchemyError): archive_sms_sender(service.id, sms_sender.id) assert not sms_sender.archived
def test_archive_sms_sender(notify_db_session): service = create_service() second_sms_sender = dao_add_sms_sender_for_service(service_id=service.id, sms_sender='second', is_default=False) archive_sms_sender(service_id=service.id, sms_sender_id=second_sms_sender.id) assert second_sms_sender.archived is True assert second_sms_sender.updated_at is not None
def test_archive_sms_sender_raises_an_error_if_attempting_to_archive_an_inbound_number( notify_db_session, is_default): service = create_service_with_inbound_number(inbound_number='7654321') dao_add_sms_sender_for_service(service.id, 'second', is_default=True) inbound_number = next(x for x in service.service_sms_senders if x.inbound_number_id) # regardless of whether inbound number is default or not, can't delete it dao_update_service_sms_sender(service.id, inbound_number.id, is_default=is_default) with pytest.raises(ArchiveValidationError) as e: archive_sms_sender(service_id=service.id, sms_sender_id=inbound_number.id) assert 'You cannot delete an inbound number' in str(e.value) assert not inbound_number.archived
def delete_service_sms_sender(service_id, sms_sender_id): sms_sender = archive_sms_sender(service_id, sms_sender_id) return jsonify(data=sms_sender.serialize()), 200