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
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
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
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
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