示例#1
0
 def test_direct_debit_failure(self, save):
     save.side_effect = fail_payin
     exchange = prepare_direct_debit(self.db, self.homer_route, EUR('1.00'))
     self.homer_route.set_mandate('-2')
     exchange = execute_direct_debit(self.db, exchange, self.homer_route)
     error = "1: oops"
     assert exchange.note == error
     assert exchange.amount
     assert exchange.status == 'failed'
     homer = self.homer.refetch()
     assert self.homer.balance == homer.balance == 0
示例#2
0
 def test_direct_debit_exception_and_wallet_creation(self, test_hook):
     test_hook.side_effect = Foobar
     self.db.run("DELETE FROM wallets WHERE owner = %s", (self.homer.id, ))
     exchange = prepare_direct_debit(self.db, self.homer_route, EUR('50'))
     assert exchange.status == 'pre-mandate'
     self.homer_route.set_mandate('-1')
     exchange = execute_direct_debit(self.db, exchange, self.homer_route)
     assert exchange.note == 'Foobar()'
     assert exchange.status == 'failed'
     homer = self.homer.refetch()
     assert self.homer.balance == homer.balance == 0
示例#3
0
 def test_direct_debit_failure(self, save):
     save.side_effect = fail_payin
     exchange = prepare_direct_debit(self.db, self.homer_route, D('1.00'))
     self.homer_route.set_mandate('-2')
     exchange = execute_direct_debit(self.db, exchange, self.homer_route)
     error = "1: oops"
     assert exchange.note == error
     assert exchange.amount
     assert exchange.status == 'failed'
     homer = self.homer.refetch()
     assert self.homer.balance == homer.balance == 0
示例#4
0
 def test_direct_debit_exception_and_wallet_creation(self, test_hook):
     test_hook.side_effect = Foobar
     self.db.run("DELETE FROM wallets WHERE owner = %s", (self.homer.id,))
     exchange = prepare_direct_debit(self.db, self.homer_route, D('50'))
     assert exchange.status == 'pre-mandate'
     self.homer_route.set_mandate('-1')
     exchange = execute_direct_debit(self.db, exchange, self.homer_route)
     assert exchange.note == 'Foobar()'
     assert exchange.status == 'failed'
     homer = self.homer.refetch()
     assert self.homer.balance == homer.balance == 0
示例#5
0
 def test_direct_debit_exception_and_wallet_creation(self, test_hook):
     test_hook.side_effect = Foobar
     self.db.run("UPDATE participants SET mangopay_wallet_id = NULL")
     self.homer.set_attributes(mangopay_wallet_id=None)
     exchange = prepare_direct_debit(self.db, self.homer_route, D('50'))
     assert exchange.status == 'pre-mandate'
     self.homer_route.set_mandate('-1')
     exchange = execute_direct_debit(self.db, exchange, self.homer_route)
     assert exchange.note == 'Foobar()'
     assert exchange.status == 'failed'
     homer = self.homer.refetch()
     assert self.homer.balance == homer.balance == 0