def test_find_one_or_none_by_user_id_raises_exception_when_several_are_found(app):
    # Given
    user = create_user(email="*****@*****.**")
    offerer1 = create_offerer(siren="123456789")
    offerer2 = create_offerer(siren="987654321")
    user_offerer1 = create_user_offerer(user, offerer1)
    user_offerer2 = create_user_offerer(user, offerer2)
    repository.save(user_offerer1, user_offerer2)

    # When
    with pytest.raises(MultipleResultsFound):
        find_one_or_none_by_user_id(user.id)
def test_find_one_or_none_by_user_id_should_return_none_user_offerer_when_none_are_found(app):
    # Given
    user = create_user(email="*****@*****.**")
    offerer = create_offerer(siren="123456789")
    repository.save(user, offerer)

    # When
    first_user_offerer = find_one_or_none_by_user_id(user.id)

    # Then
    assert first_user_offerer is None
def test_find_one_or_none_by_user_id_should_return_one_user_offerer_with_same_user_id(app):
    # Given
    user = create_user(email="*****@*****.**")
    offerer = create_offerer(siren="123456789")
    user_offerer = create_user_offerer(user, offerer)
    repository.save(user_offerer)

    # When
    first_user_offerer = find_one_or_none_by_user_id(user.id)

    # Then
    assert isinstance(first_user_offerer, UserOfferer)
    assert first_user_offerer.id == user_offerer.id
Exemple #4
0
def validate_user(token) -> None:
    user_to_validate = user_queries.find_by_validation_token(token)
    check_valid_token_for_user_validation(user_to_validate)

    user_to_validate.validationToken = None
    user_to_validate.isEmailValidated = True
    repository.save(user_to_validate)

    user_offerer = user_offerer_queries.find_one_or_none_by_user_id(user_to_validate.id)

    if user_offerer:
        offerer = user_offerer.offerer
        _ask_for_validation(offerer, user_offerer)

    return None
Exemple #5
0
def validate_user(token):
    user_to_validate = user_queries.find_by_validation_token(token)
    check_valid_token_for_user_validation(user_to_validate)

    user_to_validate.validationToken = None
    user_to_validate.isEmailValidated = True
    repository.save(user_to_validate)

    user_offerer = user_offerer_queries.find_one_or_none_by_user_id(
        user_to_validate.id)

    if user_offerer:
        number_of_pro_attached_to_offerer = count_pro_attached_to_offerer(
            user_offerer.offererId)
        offerer = user_offerer.offerer

        if settings.IS_INTEGRATION:
            _validate_offerer(offerer, user_offerer)
        else:
            _ask_for_validation(offerer, user_offerer)

        if number_of_pro_attached_to_offerer > 1:
            try:
                send_ongoing_offerer_attachment_information_email_to_pro(
                    user_offerer, send_raw_email)
            except MailServiceException as mail_service_exception:
                app.logger.exception(
                    "[send_ongoing_offerer_attachment_information_email_to_pro] "
                    "Email service failure",
                    mail_service_exception,
                )
        else:
            try:
                send_pro_user_waiting_for_validation_by_admin_email(
                    user_to_validate, send_raw_email, offerer)
            except MailServiceException as mail_service_exception:
                app.logger.exception(
                    "[send_pro_user_waiting_for_validation_by_admin_email] "
                    "Email service failure",
                    mail_service_exception,
                )

    return "", 204