优化结构
This commit is contained in:
@@ -2,10 +2,9 @@ package payment
|
||||
|
||||
import (
|
||||
"context"
|
||||
"kra/internal/biz/system"
|
||||
"testing"
|
||||
|
||||
"kra/internal/biz"
|
||||
|
||||
"github.com/go-pay/gopay"
|
||||
"github.com/go-pay/gopay/saobei"
|
||||
)
|
||||
@@ -66,7 +65,7 @@ func TestSaobeiCreateKeepsQueryAndProviderTradeIDsSeparate(t *testing.T) {
|
||||
adapter := newSaobeiTestAdapter(&saobeiClientStub{miniPay: func(context.Context, gopay.BodyMap) (*saobei.MiniPayRsp, error) {
|
||||
return &saobei.MiniPayRsp{RspBase: saobei.RspBase{ReturnCode: "01", ResultCode: "01"}, OutTradeNo: "SAOBEI-ORDER-1"}, nil
|
||||
}})
|
||||
result, err := adapter.Create(context.Background(), &biz.PaymentRequest{
|
||||
result, err := adapter.Create(context.Background(), &system.PaymentRequest{
|
||||
TradeNo: "LOCAL-1",
|
||||
Amount: 100,
|
||||
Extra: map[string]any{"sub_appid": "APP-1", "open_id": "OPEN-1"},
|
||||
@@ -85,7 +84,7 @@ func TestSaobeiCreateKeepsQueryAndProviderTradeIDsSeparate(t *testing.T) {
|
||||
request = bm
|
||||
return &saobei.BarcodePayRsp{RspBase: saobei.RspBase{ReturnCode: "01", ResultCode: "01"}, OutTradeNo: "SAOBEI-ORDER-2", ChannelTradeNo: "CHANNEL-2"}, nil
|
||||
}})
|
||||
result, err := adapter.Create(context.Background(), &biz.PaymentRequest{
|
||||
result, err := adapter.Create(context.Background(), &system.PaymentRequest{
|
||||
TradeNo: "LOCAL-2",
|
||||
Amount: 200,
|
||||
Extra: map[string]any{"method": "barcode", "auth_code": "AUTH-2"},
|
||||
@@ -117,7 +116,7 @@ func TestSaobeiCreateRejectsMissingPlatformOrderID(t *testing.T) {
|
||||
if method != "" {
|
||||
extra["method"] = method
|
||||
}
|
||||
if _, err := adapter.Create(context.Background(), &biz.PaymentRequest{TradeNo: "LOCAL-MISSING", Amount: 1, Extra: extra}, nil); err == nil {
|
||||
if _, err := adapter.Create(context.Background(), &system.PaymentRequest{TradeNo: "LOCAL-MISSING", Amount: 1, Extra: extra}, nil); err == nil {
|
||||
t.Fatal("Create() accepted response without out_trade_no")
|
||||
}
|
||||
})
|
||||
@@ -131,7 +130,7 @@ func TestSaobeiCreateRejectsUnknownMethodBeforeClient(t *testing.T) {
|
||||
return &saobeiClientStub{}, nil
|
||||
}}
|
||||
|
||||
_, err := adapter.Create(context.Background(), &biz.PaymentRequest{
|
||||
_, err := adapter.Create(context.Background(), &system.PaymentRequest{
|
||||
TradeNo: "LOCAL-UNKNOWN-METHOD", Amount: 1, Extra: map[string]any{"method": "unsupported"},
|
||||
}, nil)
|
||||
if err == nil {
|
||||
@@ -230,7 +229,7 @@ func TestSaobeiRefundPrefersPersistedQueryID(t *testing.T) {
|
||||
return &saobei.RefundRsp{RspBase: saobei.RspBase{ReturnCode: "01", ResultCode: "01"}, TerminalTrace: "LOCAL-REFUND-1", OutTradeNo: "SAOBEI-ORDER-1", OutRefundNo: "SAOBEI-REFUND-1", RefundFee: "50"}, nil
|
||||
}})
|
||||
|
||||
result, err := adapter.Refund(context.Background(), &biz.PaymentRefundRequest{
|
||||
result, err := adapter.Refund(context.Background(), &system.PaymentRefundRequest{
|
||||
TradeNo: "LOCAL-1", QueryID: "SAOBEI-ORDER-1", ProviderTradeNo: "CHANNEL-1",
|
||||
RefundNo: "LOCAL-REFUND-1", Amount: 50, Currency: "cny",
|
||||
}, map[string]any{"refund_extra": map[string]any{"out_refund_no": "MUST-NOT-BE-SENT"}})
|
||||
@@ -258,7 +257,7 @@ func TestSaobeiRefundFallsBackToMerchantTradeNo(t *testing.T) {
|
||||
return &saobei.RefundRsp{RspBase: saobei.RspBase{ReturnCode: "01", ResultCode: "01"}, TerminalTrace: "LOCAL-REFUND-2", OutRefundNo: "SAOBEI-REFUND-2", RefundFee: "25"}, nil
|
||||
}})
|
||||
|
||||
_, err := adapter.Refund(context.Background(), &biz.PaymentRefundRequest{
|
||||
_, err := adapter.Refund(context.Background(), &system.PaymentRefundRequest{
|
||||
TradeNo: "LOCAL-2", RefundNo: "LOCAL-REFUND-2", Amount: 25, Currency: "CNY",
|
||||
}, nil)
|
||||
if err != nil {
|
||||
@@ -282,7 +281,7 @@ func TestSaobeiRefundTreatsPayingAsPending(t *testing.T) {
|
||||
}, nil
|
||||
}})
|
||||
|
||||
result, err := adapter.Refund(context.Background(), &biz.PaymentRefundRequest{
|
||||
result, err := adapter.Refund(context.Background(), &system.PaymentRefundRequest{
|
||||
TradeNo: "LOCAL-3", RefundNo: "LOCAL-REFUND-3", Amount: 25, Currency: "CNY",
|
||||
}, nil)
|
||||
if err != nil {
|
||||
@@ -303,7 +302,7 @@ func TestSaobeiRefundRejectsMismatchedAmount(t *testing.T) {
|
||||
}, nil
|
||||
}})
|
||||
|
||||
if _, err := adapter.Refund(context.Background(), &biz.PaymentRefundRequest{
|
||||
if _, err := adapter.Refund(context.Background(), &system.PaymentRefundRequest{
|
||||
TradeNo: "LOCAL-1", RefundNo: "LOCAL-REFUND-1", Amount: 50, Currency: "CNY",
|
||||
}, nil); err == nil {
|
||||
t.Fatal("Refund() accepted a mismatched refund amount")
|
||||
|
||||
Reference in New Issue
Block a user