| | |
| | | package com.tourguide.modules.order.service; |
| | | |
| | | import com.tourguide.modules.order.domain.RefundStatus; |
| | | import com.tourguide.modules.order.domain.PaymentMethod; |
| | | import com.tourguide.modules.order.entity.TourOrder; |
| | | import com.tourguide.modules.order.mapper.TourOrderMapper; |
| | | import com.tourguide.modules.order.payment.PaymentRefundGateway; |
| | |
| | | org.mockito.ArgumentMatchers.any()); |
| | | } |
| | | |
| | | @Test |
| | | void temporaryBypassRefundShouldCompleteWithoutCallingGateway() { |
| | | TourOrder order = paidOrder(); |
| | | order.setPaymentMethod(PaymentMethod.TEMPORARY_BYPASS.getCode()); |
| | | order.setPaymentOrderNo("TEMPMJ202608030001"); |
| | | |
| | | refundService.requestRefund(order); |
| | | |
| | | assertThat(order.getRefundStatus()).isEqualTo(RefundStatus.REFUNDED.getCode()); |
| | | assertThat(order.getRefundTime()).isNotNull(); |
| | | assertThat(order.getRefundMethod()).isEqualTo(PaymentMethod.TEMPORARY_BYPASS.getCode()); |
| | | verify(refundGateway, never()).refund(org.mockito.ArgumentMatchers.any(), |
| | | org.mockito.ArgumentMatchers.any()); |
| | | verify(orderMapper).updateById(order); |
| | | } |
| | | |
| | | private TourOrder paidOrder() { |
| | | TourOrder order = new TourOrder(); |
| | | order.setId(99L); |