def test_deposit_money_negative(self): """Prueba que valída el método de depositar dinero en la cuenta de un usuario con valores negativos.""" mock_workflow = Mock(pk=12345) user = User.objects().first() money = -100000 bank = BankService(workflow=mock_workflow) bank.deposit_money(user_id=user.user_id, money=money) bank.get_account_balance(user_id=user.user_id) execution = Execution.objects(workflow=str(mock_workflow.pk)).first() self.assertEqual(execution.result['balance'], 0)
def test_withdraw_no_funds(self): """Prueba que valída el método de retirar dinero de la cuenta de un usuario sin fondos suficientes.""" mock_workflow = Mock(pk=12345) user = User.objects().first() money = 200000 withdraw = 300000 bank = BankService(workflow=mock_workflow) bank.deposit_money(user_id=user.user_id, money=money) bank.withdraw(user_id=user.user_id, money=withdraw) bank.get_account_balance(user_id=user.user_id) execution = Execution.objects(workflow=str(mock_workflow.pk)).first() self.assertEqual(execution.result['balance'], money)
def test_withdraw_in_dollars_negative(self): """Prueba que valída el método de retirar dinero en dólares de la cuenta de un usuario con valores negativos. """ mock_workflow = Mock(pk=12345) user = User.objects().first() money = 100000 withdraw = -5 bank = BankService(workflow=mock_workflow) bank.deposit_money(user_id=user.user_id, money=money) bank.withdraw_in_dollars(user_id=user.user_id, money=withdraw) bank.get_account_balance(user_id=user.user_id) execution = Execution.objects(workflow=str(mock_workflow.pk)).first() self.assertEqual(execution.result['balance'], money)
def test_withdraw_in_dollars(self): """Prueba que valída el método de retirar dinero en dólares de la cuenta de un usuario exitosamente.""" rate_params = {'vigenciadesde': datetime.date.today().isoformat()} rate = requests.get('https://www.datos.gov.co/resource/32sa-8pi3.json', params=rate_params) usd_rate = float(rate.json()[0]['valor']) mock_workflow = Mock(pk=12345) user = User.objects().first() money = 100000 withdraw = 3 bank = BankService(workflow=mock_workflow) bank.deposit_money(user_id=user.user_id, money=money) bank.withdraw_in_dollars(user_id=user.user_id, money=withdraw) bank.get_account_balance(user_id=user.user_id) execution = Execution.objects(workflow=str(mock_workflow.pk)).first() self.assertEqual(execution.result['balance'], money - (withdraw * usd_rate))