def test_Mandate_GetTransactions(self):
        mandate = Mandate()
        mandate.bank_account_id = BaseTestLive.get_johns_account().id
        mandate.return_url = 'http://test.test'
        mandate.culture = 'FR'
        mandate = Mandate(**mandate.save())

        get_transactions = mandate.get_transactions()

        self.assertIsNotNone(get_transactions)
        self.assertIsInstance(get_transactions, list)
Пример #2
0
 def invalidate(self, obj=None):
     if self.network.startswith('stripe-'):
         if self.address.startswith('pm_'):
             stripe.PaymentMethod.detach(self.address)
         else:
             try:
                 source = stripe.Source.retrieve(self.address).detach()
             except stripe.error.InvalidRequestError as e:
                 if "does not appear to be currently attached" in str(e):
                     pass
                 else:
                     raise
             else:
                 assert source.status == 'consumed'
                 self.update_status(source.status)
                 return
     elif self.network == 'mango-cc':
         card = obj or Card.get(self.address)
         if card.Active:
             card.Active = False
             card.save()
             assert card.Active is False, card.Active
     if self.mandate:
         mandate = Mandate.get(self.mandate)
         if mandate.Status in ('SUBMITTED', 'ACTIVE'):
             mandate.cancel()
     self.update_status('canceled')
    def test_Mandate_Create(self):
        mandate = Mandate()
        mandate.bank_account_id = BaseTestLive.get_johns_account().id
        mandate.return_url = 'http://test.test'
        mandate.culture = 'FR'
        mandate = Mandate(**mandate.save())

        self.assertIsNotNone(mandate)
        self.assertTrue(mandate.id)
 def invalidate(self, obj=None):
     if self.network == 'mango-cc':
         card = obj or Card.get(self.address)
         if card.Active:
             card.Active = False
             card.save()
             assert card.Active is False, card.Active
     if self.mandate:
         mandate = Mandate.get(self.mandate)
         if mandate.Status in ('SUBMITTED', 'ACTIVE'):
             mandate.cancel()
     self.update_error('invalidated')
Пример #5
0
 def invalidate(self, obj=None):
     if self.network == 'mango-cc':
         card = obj or Card.get(self.address)
         if card.Active:
             card.Active = False
             card.save()
             assert card.Active is False, card.Active
     if self.mandate:
         mandate = Mandate.get(self.mandate)
         if mandate.Status in ('SUBMITTED', 'ACTIVE'):
             mandate.cancel()
     self.update_error('invalidated')
    def test_Mandates_GetForUser(self):
        user = BaseTestLive.get_john(recreate=True)
        mandate = Mandate()
        mandate.bank_account_id = BaseTestLive.get_johns_account(
            recreate=True).id
        mandate.return_url = 'http://test.test'
        mandate.culture = 'EN'
        mandate_created = Mandate(**mandate.save())

        mandates = user.mandates.all()

        self.assertTrue(mandates)
        self.assertTrue(len(mandates[0].id) > 0)
        self.assertEqual(mandate_created.id, mandates[0].id)
    def test_Mandates_GetForBankAccount(self):
        BaseTestLive.get_john(recreate=True)
        mandate = Mandate()
        mandate.bank_account_id = BaseTestLive.get_johns_account(
            recreate=True).id
        mandate.return_url = 'http://test.test'
        mandate.culture = 'EN'
        mandate_created = Mandate(**mandate.save())

        mandates = BaseTestLive.get_johns_account().get_mandates()

        self.assertTrue(mandates)
        self.assertIsNotNone(mandates[0])
        self.assertTrue(mandates[0].id)
        self.assertEqual(mandates[0].id, mandate_created.id)
Пример #8
0
 def invalidate(self, obj=None):
     if self.network.startswith('stripe-'):
         source = stripe.Source.retrieve(self.address).detach()
         assert source.status == 'consumed'
         self.update_status(source.status)
         return
     if self.network == 'mango-cc':
         card = obj or Card.get(self.address)
         if card.Active:
             card.Active = False
             card.save()
             assert card.Active is False, card.Active
     if self.mandate:
         mandate = Mandate.get(self.mandate)
         if mandate.Status in ('SUBMITTED', 'ACTIVE'):
             mandate.cancel()
     self.update_status('canceled')
Пример #9
0
    def test_PayIns_DirectDebitDirect_Create(self):
        # create wallet
        wallet = Wallet()
        wallet.owners = (BaseTestLive.get_john(), )
        wallet.currency = 'EUR'
        wallet.description = 'WALLET IN EUR'
        wallet = Wallet(**wallet.save())

        mandate = Mandate()
        mandate.bank_account_id = BaseTestLive.get_johns_account().id
        mandate.return_url = 'http://test.test'
        mandate.culture = 'FR'
        mandate = Mandate(**mandate.save())

        #       ! IMPORTANT NOTE !
        #       In order to make this test pass, at this place you have to set a breakpoint,
        #       navigate to URL the mandate.RedirectURL property points to and click "CONFIRM" button.

        post = DirectDebitDirectPayIn()
        post.author = BaseTestLive.get_john()
        post.credited_wallet = wallet
        post.debited_funds = Money('1000', 'EUR')
        post.fees = Money('0', 'EUR')
        post.mandate = mandate

        result = post.save()

        self.assertIsNotNone(result)
        self.assertFalse(
            'FAILED' == result['status'],
            'In order to make this test pass, after creating mandate and before creating the payin you have\
                          to navigate to URL the mandate.redirect_url property points to and click CONFIRM button.'
        )
        self.assertTrue(result['id'])
        self.assertEqual(wallet.id, result['credited_wallet_id'])
        self.assertEqual('DIRECT_DEBIT', result['payment_type'])
        self.assertEqual('DIRECT', result['execution_type'])
        self.assertEqual(BaseTestLive.get_john().id, result['author_id'])
        self.assertEqual('CREATED', result['status'])
        self.assertEqual('PAYIN', result['type'])
        self.assertIsNotNone(result['mandate_id'])
        self.assertEqual(mandate.id, result['mandate_id'])
Пример #10
0
 def invalidate(self, obj=None):
     if self.network.startswith('stripe-'):
         if self.address.startswith('pm_'):
             stripe.PaymentMethod.detach(self.address)
         else:
             source = stripe.Source.retrieve(self.address).detach()
             assert source.status == 'consumed'
             self.update_status(source.status)
             return
     elif self.network == 'mango-cc':
         card = obj or Card.get(self.address)
         if card.Active:
             card.Active = False
             card.save()
             assert card.Active is False, card.Active
     if self.mandate:
         mandate = Mandate.get(self.mandate)
         if mandate.Status in ('SUBMITTED', 'ACTIVE'):
             mandate.cancel()
     self.update_status('canceled')
Пример #11
0
    def test_PayIns_DirectDebitDirect_Create(self):
        # create wallet
        wallet = Wallet()
        wallet.owners = (BaseTestLive.get_john(),)
        wallet.currency = 'EUR'
        wallet.description = 'WALLET IN EUR'
        wallet = Wallet(**wallet.save())

        mandate = Mandate()
        mandate.bank_account_id = BaseTestLive.get_johns_account().id
        mandate.return_url = 'http://test.test'
        mandate.culture = 'FR'
        mandate = Mandate(**mandate.save())

        #       ! IMPORTANT NOTE !
        #       In order to make this test pass, at this place you have to set a breakpoint,
        #       navigate to URL the mandate.RedirectURL property points to and click "CONFIRM" button.

        post = DirectDebitDirectPayIn()
        post.author = BaseTestLive.get_john()
        post.credited_wallet = wallet
        post.debited_funds = Money('1000', 'EUR')
        post.fees = Money('0', 'EUR')
        post.mandate = mandate

        result = post.save()

        self.assertIsNotNone(result)
        self.assertFalse('FAILED' == result['status'],
                         'In order to make this test pass, after creating mandate and before creating the payin you have\
                          to navigate to URL the mandate.redirect_url property points to and click CONFIRM button.')
        self.assertTrue(result['id'])
        self.assertEqual(wallet.id, result['credited_wallet_id'])
        self.assertEqual('DIRECT_DEBIT', result['payment_type'])
        self.assertEqual('DIRECT', result['execution_type'])
        self.assertEqual(BaseTestLive.get_john().id, result['author_id'])
        self.assertEqual('CREATED', result['status'])
        self.assertEqual('PAYIN', result['type'])
        self.assertIsNotNone(result['mandate_id'])
        self.assertEqual(mandate.id, result['mandate_id'])
    def test_Mandates_GetAll(self):
        mandates = Mandate.all()

        self.assertTrue(mandates)