def _revoke_lines(self): """Revoke fulfillment for the lines in this Refund.""" if revoke_fulfillment_for_refund(self): self.set_status(REFUND.COMPLETE) else: logger.error('Unable to revoke fulfillment of all lines of Refund [%d].', self.id) self.set_status(REFUND.REVOCATION_ERROR)
def test_revoke_fulfillment_for_refund(self): """ Verify the function revokes fulfillment for all lines in a refund. """ refund = RefundFactory(status=REFUND.PAYMENT_REFUNDED) self.assertTrue(revoke_fulfillment_for_refund(refund)) self.assertEqual(refund.status, REFUND.PAYMENT_REFUNDED) self.assertEqual(set([line.status for line in refund.lines.all()]), {REFUND_LINE.COMPLETE})
def test_revoke_fulfillment_for_refund_revocation_error(self): """ Verify the function sets the status of RefundLines and the Refund to "Revocation Error" if revocation fails. """ refund = RefundFactory(status=REFUND.PAYMENT_REFUNDED) self.assertFalse(revoke_fulfillment_for_refund(refund)) self.assertEqual(refund.status, REFUND.PAYMENT_REFUNDED) self.assertEqual(set([line.status for line in refund.lines.all()]), {REFUND_LINE.REVOCATION_ERROR})
def _revoke_lines(self): """Revoke fulfillment for the lines in this Refund.""" if revoke_fulfillment_for_refund(self): self.set_status(REFUND.COMPLETE) else: logger.error( 'Unable to revoke fulfillment of all lines of Refund [%d].', self.id) self.set_status(REFUND.REVOCATION_ERROR)
def test_suppress_revocation_for_zero_dollar_refund(self): """ Verify that the function does not require use of fulfillment modules to mark lines in a refund corresponding to a total credit of $0 as complete. """ refund = RefundFactory(status=REFUND.PAYMENT_REFUNDED) refund.total_credit_excl_tax = 0 refund.save() self.assertTrue(revoke_fulfillment_for_refund(refund)) self.assertEqual(refund.status, REFUND.PAYMENT_REFUNDED) self.assertEqual(set([line.status for line in refund.lines.all()]), {REFUND_LINE.COMPLETE})