예제 #1
0
    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)
예제 #2
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)
예제 #3
0
    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)
예제 #4
0
    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))