Example #1
0
    def test_creates_wallet_when_all_details_correct(self, database):
        user_authentication_details = UserCreate.call(self.user_details)
        user = User.find_by_id(user_authentication_details.user_id)

        assert Wallet.find_by_user_and_currency(user, self.currency) is None
        user_authentication_details.generate_token()

        wallet = WalletCreate.call(user_authentication_details.token,
                                   self.details)

        assert Wallet.find_by_user_and_currency(user, self.currency) == wallet
Example #2
0
    def test_finds_by_id_returns_the_expected_user(self, database):
        user = User.create(first_name=self.first_name,
                           last_name=self.last_name,
                           email=self.email)

        user2 = User.create(first_name=self.first_name,
                            last_name=self.last_name,
                            email='*****@*****.**')

        wallet = Wallet.create(user, self.currency)

        assert Wallet.query.count() == 1
        assert Wallet.find_by_user_and_currency(user2, self.currency) is None
        assert Wallet.find_by_user_and_currency(user, self.currency) == wallet
Example #3
0
    def get_receiver_wallet(self):
        wallet = Wallet.find_by_user_and_currency(self.receiver, self.currency)

        if wallet is None:
            raise InvalidWallet

        return wallet
Example #4
0
    def create_wallet(self):
        wallet = Wallet.find_by_user_and_currency(self.user, self.currency)

        if wallet is None:
            wallet = Wallet.create(self.user, self.currency)

        return wallet
Example #5
0
def get_wallet(user, currency_name):
    output = None
    currency = get_currency(currency_name)

    if type(currency) is str:
        output = currency
    else:
        wallet = Wallet.find_by_user_and_currency(user, currency)

        if wallet is None:
            output = 'Invalid account. Account does not exist for user.'
        else:
            output = wallet

    return output