Example #1
0
    def test_wallet_balance_multiple_deposit(self):
        user = users_factories.BeneficiaryGrant18Factory()
        users_factories.DepositGrantFactory(user=user)
        users_factories.DepositGrantFactory(user=user)

        with pytest.raises((psycog2_errors.CardinalityViolation,
                            sqlalchemy.exc.ProgrammingError)) as exc:
            # pylint: disable=expression-not-assigned
            db.session.query(func.get_wallet_balance(user.id,
                                                     False)).first()[0]

        assert "more than one row returned by a subquery" in str(exc.value)
 def test_has_been_recredited(self, user_age, user_recredits, expected_result):
     user = user_factories.UserFactory(
         dateOfBirth=datetime.datetime.combine(datetime.date.today(), datetime.time(0, 0))
         - relativedelta(years=user_age)
     )
     user_factories.DepositGrantFactory(user=user)
     for recredit in user_recredits:
         payments_factories.RecreditFactory(
             deposit=user.deposit, recreditType=recredit["type"], dateCreated=recredit["date_created"]
         )
     assert has_been_recredited(user) == expected_result
Example #3
0
    def test_deposit_balance(self):
        deposit = users_factories.DepositGrantFactory()

        bookings_factories.IndividualBookingFactory(
            individualBooking__attached_deposit=deposit,
            isUsed=True,
            amount=10)
        bookings_factories.IndividualBookingFactory(
            individualBooking__attached_deposit=deposit,
            isUsed=False,
            amount=1)

        assert db.session.query(func.get_deposit_balance(
            deposit.id, False)).first()[0] == 289
        assert db.session.query(func.get_deposit_balance(
            deposit.id, True)).first()[0] == 290
Example #4
0
def create_industrial_app_beneficiaries():
    logger.info("create_industrial_app_beneficiaries")

    users_by_name = {}

    variants = itertools.product(DEPARTEMENT_CODES, BENEFICIARIES_TAGS, GRANT_18_DEPOSIT_VERSIONS)

    for index, (departement_code, tag, deposit_version) in enumerate(variants, start=0):
        short_tag = "".join([chunk[0].upper() for chunk in tag.split("-")])

        if tag == "has-filled-cultural-survey":
            has_seen_tutorials = False
        else:
            has_seen_tutorials = True

        email = f"pctest.jeune{departement_code}.{tag}.v{deposit_version}@example.com"
        user = users_factories.BeneficiaryGrant18Factory(
            culturalSurveyId=None,
            departementCode=str(departement_code),
            email=email,
            phoneNumber=f"+336{index:0>8}",
            firstName="PC Test Jeune",
            hasSeenTutorials=has_seen_tutorials,
            lastName=f"{departement_code} {short_tag} {deposit_version}",
            needsToFillCulturalSurvey=False,
            postalCode="{}100".format(departement_code),
            publicName=f"PC Test Jeune {departement_code} {short_tag} {deposit_version}",
            deposit__source="sandbox",
            deposit__version=deposit_version,
        )
        users_factories.DepositGrantFactory(
            user=user, expirationDate=datetime.now(), source="sandbox", type=DepositType.GRANT_15_17
        )

        user_key = f"jeune{departement_code} {tag} v{deposit_version}"
        users_by_name[user_key] = user

    logger.info("created %d beneficiaries", len(users_by_name))

    return users_by_name
 def test_has_celebrated_their_birthday_since_activation(self, birth_date, deposit_activation_date, expected_result):
     user = user_factories.UserFactory(
         dateOfBirth=birth_date,
     )
     user_factories.DepositGrantFactory(user=user, dateCreated=deposit_activation_date)
     assert has_celebrated_their_birthday_since_activation(user) == expected_result