| | |
| | | .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"); |