Beispiel #1
0
def test_refund_unavailable(env, factory, monkeypatch):
    event, order = env

    def charge_retr(*args, **kwargs):
        def refund_create():
            raise APIConnectionError(message='Foo')

        c = MockedCharge()
        c.refunds = object()
        c.refunds.create = refund_create()
        return c

    monkeypatch.setattr("stripe.Charge.retrieve", charge_retr)
    order.status = Order.STATUS_PAID
    order.payment_info = json.dumps({'id': 'ch_123345345'})
    order.save()
    prov = StripeCC(event)
    req = factory.get('/')
    req.user = None
    prov.order_control_refund_perform(req, order)
    order.refresh_from_db()
    assert order.status == Order.STATUS_PAID
Beispiel #2
0
def test_refund_success(env, factory, monkeypatch):
    event, order = env

    def charge_retr(*args, **kwargs):
        def refund_create():
            pass

        c = MockedCharge()
        c.refunds = MockedCharge()
        c.refunds.create = refund_create
        return c

    monkeypatch.setattr("stripe.Charge.retrieve", charge_retr)
    order.status = Order.STATUS_PAID
    order.payment_info = json.dumps({'id': 'ch_123345345'})
    order.save()
    prov = StripeCC(event)
    req = factory.post('/', data={'auto_refund': 'auto'})
    req.user = None
    prov.order_control_refund_perform(req, order)
    order.refresh_from_db()
    assert order.status == Order.STATUS_REFUNDED