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