From 39f6fca28e3f78abe48f08e474ec011abb990b36 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 09 九月 2026 10:39:21 +0800
Subject: [PATCH] update

---
 backend/src/test/java/com/tourguide/modules/order/payment/HuifuPaymentRefundGatewayTest.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/backend/src/test/java/com/tourguide/modules/order/payment/HuifuPaymentRefundGatewayTest.java b/backend/src/test/java/com/tourguide/modules/order/payment/HuifuPaymentRefundGatewayTest.java
index ff168c1..8b382c4 100644
--- a/backend/src/test/java/com/tourguide/modules/order/payment/HuifuPaymentRefundGatewayTest.java
+++ b/backend/src/test/java/com/tourguide/modules/order/payment/HuifuPaymentRefundGatewayTest.java
@@ -55,6 +55,24 @@
                 .hasMessage("refund failed");
     }
 
+    @Test
+    void shouldReadNestedHuifuResponseCode() throws Exception {
+        DouGongRefundBiz refundBiz = mock(DouGongRefundBiz.class);
+        TourOrderPaymentAttemptMapper attemptMapper = mock(TourOrderPaymentAttemptMapper.class);
+        HuifuPaymentRefundGateway gateway = new HuifuPaymentRefundGateway(refundBiz, attemptMapper);
+        TourOrder order = order();
+        when(attemptMapper.selectByReqSeqIdForUpdate(order.getPaymentOrderNo())).thenReturn(attempt());
+        Map<String, Object> nested = new HashMap<>();
+        nested.put("resp_code", "00000100");
+        Map<String, Object> response = new HashMap<>();
+        response.put("data", nested);
+        when(refundBiz.refund(order.getRefundOrderNo(), new BigDecimal("36.00"),
+                "20260803", order.getPaymentOrderNo())).thenReturn(response);
+
+        assertThat(gateway.refund(order, new BigDecimal("36.00")))
+                .isEqualTo(order.getRefundOrderNo());
+    }
+
     private TourOrder order() {
         TourOrder order = new TourOrder();
         order.setPaymentOrderNo("PY202608031700000000000000000001");

--
Gitblit v1.7.1