def test_refund_disputed_payin(self):
     self.make_participant(
         'LiberapayOrg',
         kind='organization',
         balance=EUR('100.00'),
         mangopay_user_id='0',
         mangopay_wallet_id='0',
     )
     exchange = charge(self.db, self.janet_route, EUR('20'),
                       'http://localhost/')
     # Dry run
     msg, e_refund = refund_disputed_payin(self.db, exchange, dry_run=True)
     assert msg.startswith('[dry run] partial refund ')
     assert e_refund is None
     # For real
     msg, e_refund = refund_disputed_payin(self.db, exchange)
     assert msg == 'succeeded'
     assert e_refund.amount == -exchange.amount
     assert e_refund.fee == exchange.fee.zero()
     janet = self.janet.refetch()
     assert janet.balance == 0
     self.db.self_check()
     # Again
     msg, e_refund_2 = refund_disputed_payin(self.db, exchange)
     assert msg == 'already done'
     assert e_refund_2.id == e_refund.id
Example #2
0
 def test_refund_disputed_payin(self):
     self.make_participant(
         'LiberapayOrg', kind='organization', balance=EUR('100.00'),
         mangopay_user_id='0', mangopay_wallet_id='0',
     )
     exchange = charge(self.db, self.janet_route, EUR('20'), 'http://localhost/')
     # Dry run
     msg, e_refund = refund_disputed_payin(self.db, exchange, dry_run=True)
     assert msg.startswith('[dry run] partial refund ')
     assert e_refund is None
     # For real
     msg, e_refund = refund_disputed_payin(self.db, exchange)
     assert msg == 'succeeded'
     assert e_refund.amount == -exchange.amount
     assert e_refund.fee == exchange.fee.zero()
     janet = self.janet.refetch()
     assert janet.balance == 0
     self.db.self_check()
     # Again
     msg, e_refund_2 = refund_disputed_payin(self.db, exchange)
     assert msg == 'already done'
     assert e_refund_2.id == e_refund.id