继续补齐核心模块 Context 超时控制
This commit is contained in:
@@ -53,28 +53,28 @@ func TestRentalFullFlowWithMockPayment(t *testing.T) {
|
||||
assertEqual(t, "支付状态", paymentDTO.Status, "paid")
|
||||
assertEqual(t, "支付金额", paymentDTO.AmountCent, int64(53300))
|
||||
|
||||
paidOrder, err := services.order.FindAdmin(orderDTO.ID)
|
||||
paidOrder, err := services.order.FindAdmin(t.Context(), orderDTO.ID)
|
||||
if err != nil {
|
||||
t.Fatalf("读取已支付订单失败: %v", err)
|
||||
}
|
||||
assertEqual(t, "支付后订单状态", paidOrder.Status, "pending_handoff")
|
||||
assertEqual(t, "支付后交接状态", paidOrder.HandoffStatus, "pending_owner")
|
||||
|
||||
if _, err := services.order.SubmitHandoff(owner.ID, orderDTO.ID, order.SubmitHandoffRequest{Content: "账号:demo,密码:demo-pass"}); err != nil {
|
||||
if _, err := services.order.SubmitHandoff(t.Context(), owner.ID, orderDTO.ID, order.SubmitHandoffRequest{Content: "账号:demo,密码:demo-pass"}); err != nil {
|
||||
t.Fatalf("号主交接失败: %v", err)
|
||||
}
|
||||
if err := services.order.ConfirmReceive(renter.ID, orderDTO.ID); err != nil {
|
||||
if err := services.order.ConfirmReceive(t.Context(), renter.ID, orderDTO.ID); err != nil {
|
||||
t.Fatalf("租客确认收号失败: %v", err)
|
||||
}
|
||||
|
||||
if _, err := services.order.SubmitCheckout(renter.ID, orderDTO.ID, order.SubmitCheckoutRequest{
|
||||
if _, err := services.order.SubmitCheckout(t.Context(), renter.ID, orderDTO.ID, order.SubmitCheckoutRequest{
|
||||
Content: "租客发起结账",
|
||||
ConsumableAmountCent: 700,
|
||||
CoinConsumedM: 90,
|
||||
}); err != nil {
|
||||
t.Fatalf("租客发起结账失败: %v", err)
|
||||
}
|
||||
countered, err := services.order.CounterCheckout(owner.ID, orderDTO.ID, order.CounterCheckoutRequest{
|
||||
countered, err := services.order.CounterCheckout(t.Context(), owner.ID, orderDTO.ID, order.CounterCheckoutRequest{
|
||||
ConsumableAmountCent: 1200,
|
||||
CoinConsumedM: 100,
|
||||
DepositDeductAmountCent: 3000,
|
||||
@@ -84,11 +84,11 @@ func TestRentalFullFlowWithMockPayment(t *testing.T) {
|
||||
t.Fatalf("号主反价失败: %v", err)
|
||||
}
|
||||
assertEqual(t, "反价状态", countered.Status, "countered")
|
||||
if err := services.order.AcceptCheckout(renter.ID, orderDTO.ID); err != nil {
|
||||
if err := services.order.AcceptCheckout(t.Context(), renter.ID, orderDTO.ID); err != nil {
|
||||
t.Fatalf("租客接受反价失败: %v", err)
|
||||
}
|
||||
|
||||
completed, err := services.order.FindAdmin(orderDTO.ID)
|
||||
completed, err := services.order.FindAdmin(t.Context(), orderDTO.ID)
|
||||
if err != nil {
|
||||
t.Fatalf("读取完成订单失败: %v", err)
|
||||
}
|
||||
@@ -119,20 +119,20 @@ func TestArbitrationReleaseDepositDoesNotRepublishListing(t *testing.T) {
|
||||
if _, err := services.payment.Start(t.Context(), renter.ID, orderDTO.ID, payment.StartPaymentRequest{}, "127.0.0.1"); err != nil {
|
||||
t.Fatalf("启动 mock 支付失败: %v", err)
|
||||
}
|
||||
if _, err := services.order.SubmitHandoff(owner.ID, orderDTO.ID, order.SubmitHandoffRequest{Content: "账号:demo,密码:demo-pass"}); err != nil {
|
||||
if _, err := services.order.SubmitHandoff(t.Context(), owner.ID, orderDTO.ID, order.SubmitHandoffRequest{Content: "账号:demo,密码:demo-pass"}); err != nil {
|
||||
t.Fatalf("号主交接失败: %v", err)
|
||||
}
|
||||
if err := services.order.ConfirmReceive(renter.ID, orderDTO.ID); err != nil {
|
||||
if err := services.order.ConfirmReceive(t.Context(), renter.ID, orderDTO.ID); err != nil {
|
||||
t.Fatalf("租客确认收号失败: %v", err)
|
||||
}
|
||||
if _, err := services.order.SubmitCheckout(renter.ID, orderDTO.ID, order.SubmitCheckoutRequest{
|
||||
if _, err := services.order.SubmitCheckout(t.Context(), renter.ID, orderDTO.ID, order.SubmitCheckoutRequest{
|
||||
Content: "租客发起结账",
|
||||
ConsumableAmountCent: 700,
|
||||
CoinConsumedM: 90,
|
||||
}); err != nil {
|
||||
t.Fatalf("租客发起结账失败: %v", err)
|
||||
}
|
||||
if _, err := services.order.CounterCheckout(owner.ID, orderDTO.ID, order.CounterCheckoutRequest{
|
||||
if _, err := services.order.CounterCheckout(t.Context(), owner.ID, orderDTO.ID, order.CounterCheckoutRequest{
|
||||
ConsumableAmountCent: 1200,
|
||||
CoinConsumedM: 100,
|
||||
DepositDeductAmountCent: 3000,
|
||||
@@ -141,7 +141,7 @@ func TestArbitrationReleaseDepositDoesNotRepublishListing(t *testing.T) {
|
||||
t.Fatalf("号主反价失败: %v", err)
|
||||
}
|
||||
|
||||
disputeDTO, err := services.dispute.Create(renter.ID, orderDTO.ID, dispute.CreateRequest{
|
||||
disputeDTO, err := services.dispute.Create(t.Context(), renter.ID, orderDTO.ID, dispute.CreateRequest{
|
||||
Type: "checkout_amount",
|
||||
Description: "不同意扣押金,申请客服仲裁",
|
||||
})
|
||||
@@ -149,7 +149,7 @@ func TestArbitrationReleaseDepositDoesNotRepublishListing(t *testing.T) {
|
||||
t.Fatalf("创建结账争议失败: %v", err)
|
||||
}
|
||||
assertEqual(t, "争议类型", disputeDTO.Type, "checkout_dispute")
|
||||
resolved, err := services.dispute.Arbitrate(adminID, disputeDTO.ID, dispute.ArbitrateRequest{
|
||||
resolved, err := services.dispute.Arbitrate(t.Context(), adminID, disputeDTO.ID, dispute.ArbitrateRequest{
|
||||
Result: "release_deposit",
|
||||
Remark: "确认无押金扣除,退回押金",
|
||||
}, auditlog.Meta{IP: "127.0.0.1", RequestID: "e2e-arbitrate"})
|
||||
@@ -158,7 +158,7 @@ func TestArbitrationReleaseDepositDoesNotRepublishListing(t *testing.T) {
|
||||
}
|
||||
assertEqual(t, "争议状态", resolved.Status, "resolved")
|
||||
|
||||
completed, err := services.order.FindAdmin(orderDTO.ID)
|
||||
completed, err := services.order.FindAdmin(t.Context(), orderDTO.ID)
|
||||
if err != nil {
|
||||
t.Fatalf("读取仲裁后订单失败: %v", err)
|
||||
}
|
||||
@@ -209,15 +209,15 @@ func newFlowServices(db *gorm.DB) flowServices {
|
||||
configRepo := paymentconfig.NewRepository(db, &paymentconfig.MockEncryptor{})
|
||||
paymentRepo := payment.NewRepository(db, configRepo, orderRepo, walletRepo)
|
||||
disputeRepo := dispute.NewRepository(db)
|
||||
orderRepo.SetRefundFunc(func(orderID uint64, refundAmountCent int64, bizType string, remark string) (string, error) {
|
||||
refund, err := paymentRepo.StartRefund(context.Background(), orderID, refundAmountCent, bizType, remark)
|
||||
orderRepo.SetRefundFunc(func(ctx context.Context, orderID uint64, refundAmountCent int64, bizType string, remark string) (string, error) {
|
||||
refund, err := paymentRepo.StartRefund(ctx, orderID, refundAmountCent, bizType, remark)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return refund.Status, nil
|
||||
})
|
||||
disputeRepo.SetRefundFunc(func(orderID uint64, refundAmountCent int64, bizType string, remark string) (string, error) {
|
||||
refund, err := paymentRepo.StartRefund(context.Background(), orderID, refundAmountCent, bizType, remark)
|
||||
disputeRepo.SetRefundFunc(func(ctx context.Context, orderID uint64, refundAmountCent int64, bizType string, remark string) (string, error) {
|
||||
refund, err := paymentRepo.StartRefund(ctx, orderID, refundAmountCent, bizType, remark)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -364,7 +364,7 @@ func seedRealname(t *testing.T, db *gorm.DB, userID uint64, name string, verifie
|
||||
|
||||
func seedMockPaymentConfig(t *testing.T, service *paymentconfig.Service, adminID uint64) {
|
||||
t.Helper()
|
||||
_, err := service.Create(paymentconfig.CreateRequest{
|
||||
_, err := service.Create(t.Context(), paymentconfig.CreateRequest{
|
||||
Name: "E2E Mock 支付",
|
||||
Provider: "mock",
|
||||
MerchantID: "mock-e2e",
|
||||
@@ -424,14 +424,14 @@ func createListingUnderReview(t *testing.T, service *listing.Service, ownerID ui
|
||||
|
||||
func adjustAndApproveListing(t *testing.T, service *listing.Service, adminID uint64, listingID uint64) *listing.ListingDTO {
|
||||
t.Helper()
|
||||
adjusted, err := service.AdjustReviewPrice(adminID, listingID, listing.AdminPriceAdjustRequest{
|
||||
adjusted, err := service.AdjustReviewPrice(t.Context(), adminID, listingID, listing.AdminPriceAdjustRequest{
|
||||
BuyerTotalPriceCent: 38300,
|
||||
Reason: "E2E 审核调价",
|
||||
}, auditlog.Meta{IP: "127.0.0.1", RequestID: "e2e-adjust-price"})
|
||||
if err != nil {
|
||||
t.Fatalf("审核调价失败: %v", err)
|
||||
}
|
||||
approved, err := service.Approve(adjusted.ID)
|
||||
approved, err := service.Approve(t.Context(), adjusted.ID)
|
||||
if err != nil {
|
||||
t.Fatalf("审核通过失败: %v", err)
|
||||
}
|
||||
@@ -441,7 +441,7 @@ func adjustAndApproveListing(t *testing.T, service *listing.Service, adminID uin
|
||||
|
||||
func mustCreateOrder(t *testing.T, service *order.Service, renterID uint64, listingID uint64) *order.OrderDTO {
|
||||
t.Helper()
|
||||
dto, err := service.Create(renterID, order.CreateRequest{ListingID: listingID})
|
||||
dto, err := service.Create(t.Context(), renterID, order.CreateRequest{ListingID: listingID})
|
||||
if err != nil {
|
||||
t.Fatalf("创建订单失败: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user