def test_void_gateway_error(payment_txn_preauth, monkeypatch): monkeypatch.setattr("saleor.payment.gateways.dummy.dummy_success", lambda: False) with pytest.raises(PaymentError): txn = gateway.void(payment=payment_txn_preauth) assert txn.kind == TransactionKind.VOID assert not txn.is_success assert txn.payment == payment_txn_preauth
def test_void_failed(is_active, charge_status, payment_dummy): payment = payment_dummy payment.is_active = is_active payment.charge_status = charge_status payment.save() with pytest.raises(PaymentError): txn = gateway.void(payment=payment) assert txn is None
def test_void_success(payment_txn_preauth): assert payment_txn_preauth.is_active assert payment_txn_preauth.charge_status == ChargeStatus.NOT_CHARGED txn = gateway.void(payment=payment_txn_preauth) assert txn.is_success assert txn.kind == TransactionKind.VOID assert txn.payment == payment_txn_preauth payment_txn_preauth.refresh_from_db() assert not payment_txn_preauth.is_active assert payment_txn_preauth.charge_status == ChargeStatus.NOT_CHARGED
def test_void_payment(mock_payment_interface, payment_txn_preauth): auth_transaction = payment_txn_preauth.transactions.get() PAYMENT_DATA = create_payment_information( payment=payment_txn_preauth, payment_token=auth_transaction.token, amount=VOID_AMOUNT, ) mock_payment_interface.void_payment.return_value = VOID_RESPONSE transaction = gateway.void(payment=payment_txn_preauth) mock_payment_interface.void_payment.assert_called_once_with( USED_GATEWAY, PAYMENT_DATA) payment_txn_preauth.refresh_from_db() assert not payment_txn_preauth.is_active assert transaction.amount == VOID_RESPONSE.amount assert transaction.kind == TransactionKind.VOID assert transaction.currency == "usd" assert transaction.gateway_response == RAW_RESPONSE