def test_archive_letter_contact_can_archive_a_service_default_letter_contact(
        notify_db_session):
    service = create_service()
    letter_contact = create_letter_contact(service=service,
                                           contact_block='Edinburgh, ED1 1AA')
    archive_letter_contact(service.id, letter_contact.id)
    assert letter_contact.archived is True
Ejemplo n.º 2
0
def test_archive_letter_contact(notify_db_session):
    service = create_service()
    create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X')
    letter_contact = create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA', is_default=False)

    archive_letter_contact(service.id, letter_contact.id)

    assert letter_contact.archived
    assert letter_contact.updated_at is not None
Ejemplo n.º 3
0
def test_archive_letter_contact_does_not_archive_a_service_default_letter_contact(
        notify_db_session):
    service = create_service()
    letter_contact = create_letter_contact(service=service,
                                           contact_block='Edinburgh, ED1 1AA')

    with pytest.raises(ArchiveValidationError) as e:
        archive_letter_contact(service.id, letter_contact.id)

    assert 'You cannot delete a default letter contact block' in str(e.value)
def test_archive_letter_contact_does_not_archive_a_letter_contact_for_a_different_service(
    notify_db_session,
    sample_service,
):
    service = create_service(service_name="First service")
    letter_contact = create_letter_contact(service=sample_service,
                                           contact_block='Edinburgh, ED1 1AA',
                                           is_default=False)

    with pytest.raises(SQLAlchemyError):
        archive_letter_contact(service.id, letter_contact.id)

    assert not letter_contact.archived
Ejemplo n.º 5
0
def test_archive_letter_contact_does_not_archive_a_template_default_letter_contact(
        notify_db_session):
    service = create_service()
    create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA')
    template_default = create_letter_contact(
        service=service, contact_block='Aberdeen, AB12 23X', is_default=False)
    create_template(service=service,
                    template_type='letter',
                    reply_to=template_default.id)

    with pytest.raises(ArchiveValidationError) as e:
        archive_letter_contact(service.id, template_default.id)

    assert 'You cannot delete the default letter contact block for a template' in str(
        e.value)
Ejemplo n.º 6
0
def test_archive_letter_contact_does_dissociates_template_defaults_before_archiving(notify_db_session):
    service = create_service()
    create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA')
    template_default = create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X', is_default=False)
    associated_template_1 = create_template(service=service, template_type='letter', reply_to=template_default.id)
    associated_template_2 = create_template(service=service, template_type='letter', reply_to=template_default.id)

    assert associated_template_1.reply_to == template_default.id
    assert associated_template_2.reply_to == template_default.id
    assert template_default.archived is False

    archive_letter_contact(service.id, template_default.id)

    assert associated_template_1.reply_to is None
    assert associated_template_2.reply_to is None
    assert template_default.archived is True
Ejemplo n.º 7
0
def delete_service_letter_contact(service_id, letter_contact_id):
    archived_letter_contact = archive_letter_contact(service_id,
                                                     letter_contact_id)

    return jsonify(data=archived_letter_contact.serialize()), 200