def test_add_reply_to_email_address_can_add_a_third_reply_to_address(sample_service):
    add_reply_to_email_address_for_service(service_id=sample_service.id, email_address="*****@*****.**", is_default=True)
    add_reply_to_email_address_for_service(
        service_id=sample_service.id,
        email_address="*****@*****.**",
        is_default=False,
    )
    add_reply_to_email_address_for_service(
        service_id=sample_service.id,
        email_address="*****@*****.**",
        is_default=False,
    )

    results = dao_get_reply_to_by_service_id(service_id=sample_service.id)
    assert len(results) == 3

    for x in results:
        if x.email_address == "*****@*****.**":
            assert x.is_default
        elif x.email_address == "*****@*****.**":
            assert not x.is_default
        elif x.email_address == "*****@*****.**":
            assert not x.is_default
        else:
            assert False
Exemple #2
0
def check_if_reply_to_address_already_in_use(service_id, email_address):
    existing_reply_to_addresses = dao_get_reply_to_by_service_id(service_id)
    if email_address in [i.email_address for i in existing_reply_to_addresses]:
        raise InvalidRequest(
            "Your service already uses ‘{}’ as an email reply-to address.".
            format(email_address),
            status_code=400)
Exemple #3
0
def test_add_reply_to_email_address_for_service_creates_first_email_for_service(notify_db_session):
    service = create_service()
    add_reply_to_email_address_for_service(service_id=service.id,
                                           email_address='*****@*****.**',
                                           is_default=True)

    results = dao_get_reply_to_by_service_id(service_id=service.id)
    assert len(results) == 1
    assert results[0].email_address == '*****@*****.**'
    assert results[0].is_default
Exemple #4
0
def test_dao_get_reply_to_by_service_id(notify_db_session):
    service = create_service()
    default_reply_to = create_reply_to_email(service=service, email_address='*****@*****.**')
    second_reply_to = create_reply_to_email(service=service, email_address='*****@*****.**', is_default=False)
    another_reply_to = create_reply_to_email(service=service, email_address='*****@*****.**', is_default=False)

    results = dao_get_reply_to_by_service_id(service_id=service.id)

    assert len(results) == 3
    assert default_reply_to == results[0]
    assert another_reply_to == results[1]
    assert second_reply_to == results[2]
Exemple #5
0
def test_add_reply_to_email_address_new_reply_to_is_default_existing_reply_to_is_not(notify_db_session):
    service = create_service()
    create_reply_to_email(service=service, email_address="*****@*****.**", is_default=True)
    add_reply_to_email_address_for_service(service_id=service.id, email_address='*****@*****.**', is_default=True)

    results = dao_get_reply_to_by_service_id(service_id=service.id)
    assert len(results) == 2
    for x in results:
        if x.email_address == '*****@*****.**':
            assert not x.is_default
        elif x.email_address == '*****@*****.**':
            assert x.is_default
        else:
            assert False
Exemple #6
0
def test_add_reply_to_email_address_for_service_creates_another_email_for_service(notify_db_session):
    service = create_service()
    create_reply_to_email(service=service, email_address="*****@*****.**")

    add_reply_to_email_address_for_service(service_id=service.id, email_address='*****@*****.**', is_default=False)

    results = dao_get_reply_to_by_service_id(service_id=service.id)
    assert len(results) == 2
    for x in results:
        if x.email_address == '*****@*****.**':
            assert x.is_default
        elif x.email_address == '*****@*****.**':
            assert not x.is_default
        else:
            raise AssertionError()
Exemple #7
0
def test_dao_get_reply_to_by_service_id_does_not_return_archived_reply_tos(notify_db_session):
    service = create_service()
    create_reply_to_email(service=service, email_address='*****@*****.**')
    create_reply_to_email(service=service, email_address='*****@*****.**', is_default=False)
    archived_reply_to = create_reply_to_email(
        service=service,
        email_address='*****@*****.**',
        is_default=False,
        archived=True
    )

    results = dao_get_reply_to_by_service_id(service_id=service.id)

    assert len(results) == 2
    assert archived_reply_to not in results
Exemple #8
0
def get_email_reply_to_addresses(service_id):
    result = dao_get_reply_to_by_service_id(service_id)
    return jsonify([i.serialize() for i in result]), 200