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
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
def get_receiver_wallet(self): wallet = Wallet.find_by_user_and_currency(self.receiver, self.currency) if wallet is None: raise InvalidWallet return wallet
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
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