'Checks that a refund is enqueued and contains the correct values.'

def do_refund(self, expected, status, refund_reason=None, rejection_reason=None):

    self.contribution.enqueue_refund(status, self.user, refund_reason=refund_reason, rejection_reason=rejection_reason)
    expected.update(contribution=self.contribution, status=status)
    eq_(Refund.objects.count(), 1)
    refund = Refund.objects.filter(**expected)
    eq_(refund.exists(), True)
    return refund[0]
