예제 #1
0
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)
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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