From a7c8a8f6055e1a03414f2227d12ff2e87ec52d41 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 21 八月 2026 10:38:23 +0800
Subject: [PATCH] update
---
backend/src/test/java/com/tourguide/modules/order/service/MiniTourOrderCommandServiceTest.java | 61 +++++++++++++++++-------------
1 files changed, 35 insertions(+), 26 deletions(-)
diff --git a/backend/src/test/java/com/tourguide/modules/order/service/MiniTourOrderCommandServiceTest.java b/backend/src/test/java/com/tourguide/modules/order/service/MiniTourOrderCommandServiceTest.java
index 047d12c..5cf75d4 100644
--- a/backend/src/test/java/com/tourguide/modules/order/service/MiniTourOrderCommandServiceTest.java
+++ b/backend/src/test/java/com/tourguide/modules/order/service/MiniTourOrderCommandServiceTest.java
@@ -6,6 +6,7 @@
import com.tourguide.modules.operation.mapper.OperationScenicSpotMapper;
import com.tourguide.modules.operation.mapper.ScenicMeetingPointMapper;
import com.tourguide.modules.operation.mapper.ScenicPricingMapper;
+import com.tourguide.modules.operation.dto.PlatformSettingsResponse;
import com.tourguide.modules.operation.service.PlatformSettingsService;
import com.tourguide.modules.order.domain.OrderStatus;
import com.tourguide.modules.order.dto.MiniOrderCreateRequest;
@@ -15,11 +16,13 @@
import com.tourguide.modules.user.entity.MiniUser;
import com.tourguide.modules.user.mapper.GuideUserMapper;
import com.tourguide.modules.user.service.MiniUserService;
+import com.tourguide.modules.system.service.GuideNotificationService;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import java.math.BigDecimal;
+import java.time.LocalDateTime;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -38,6 +41,8 @@
private ScenicPricingMapper pricingMapper;
private GuideUserMapper guideUserMapper;
private PlatformSettingsService platformSettingsService;
+ private GuideNotificationService notificationService;
+ private OrderRefundService orderRefundService;
private MiniTourOrderCommandService commandService;
@BeforeEach
@@ -49,9 +54,11 @@
pricingMapper = mock(ScenicPricingMapper.class);
guideUserMapper = mock(GuideUserMapper.class);
platformSettingsService = mock(PlatformSettingsService.class);
+ notificationService = mock(GuideNotificationService.class);
+ orderRefundService = mock(OrderRefundService.class);
commandService = new MiniTourOrderCommandService(
orderMapper, miniUserService, scenicSpotMapper, meetingPointMapper, pricingMapper,
- guideUserMapper, platformSettingsService);
+ guideUserMapper, platformSettingsService, notificationService, orderRefundService);
}
@Test
@@ -83,6 +90,9 @@
pricing.setDiscountPrice(new BigDecimal("36.00"));
pricing.setMaxParticipants(10);
when(pricingMapper.selectOne(any())).thenReturn(pricing);
+ PlatformSettingsResponse settings = new PlatformSettingsResponse();
+ settings.setSettlementDays(7);
+ when(platformSettingsService.getSettings()).thenReturn(settings);
doAnswer(invocation -> {
TourOrder order = invocation.getArgument(0);
order.setId(99L);
@@ -105,32 +115,8 @@
assertThat(order.getPaymentOrderNo()).isNull();
assertThat(order.getPaymentAmount()).isNull();
assertThat(order.getPaymentTime()).isNull();
+ assertThat(order.getSettlementDays()).isEqualTo(7);
assertThat(response.getStatus()).isEqualTo(OrderStatus.PENDING_PAYMENT.getCode());
- }
-
- @Test
- void confirmPaymentShouldMovePendingOrderToPendingAccept() {
- MiniUser visitor = new MiniUser();
- visitor.setId(7L);
- when(miniUserService.findEnabledById(7L)).thenReturn(visitor);
-
- TourOrder order = new TourOrder();
- order.setId(99L);
- order.setOrderNo("MJ202607290001");
- order.setVisitorId(7L);
- order.setAmount(new BigDecimal("144.00"));
- order.setStatus(OrderStatus.PENDING_PAYMENT.getCode());
- when(orderMapper.selectOne(any())).thenReturn(order);
-
- TourOrderResponse response = commandService.confirmPayment(7L, 99L);
-
- assertThat(order.getStatus()).isEqualTo(OrderStatus.PENDING_ACCEPT.getCode());
- assertThat(order.getPaymentMethod()).isEqualTo("WECHAT");
- assertThat(order.getPaymentOrderNo()).isEqualTo("LOCALMJ202607290001");
- assertThat(order.getPaymentAmount()).isEqualByComparingTo("144.00");
- assertThat(order.getPaymentTime()).isNotNull();
- assertThat(response.getStatus()).isEqualTo(OrderStatus.PENDING_ACCEPT.getCode());
- verify(orderMapper).updateById(order);
}
@Test
@@ -146,4 +132,27 @@
verify(orderMapper, never()).insert(any(TourOrder.class));
}
+
+ @Test
+ void cancelPendingMeetingOrderShouldNotifyAssignedGuide() {
+ MiniUser visitor = new MiniUser();
+ visitor.setId(7L);
+ when(miniUserService.findEnabledById(7L)).thenReturn(visitor);
+
+ TourOrder order = new TourOrder();
+ order.setId(99L);
+ order.setOrderNo("MJ202607300001");
+ order.setVisitorId(7L);
+ order.setGuideId(8L);
+ order.setStatus(OrderStatus.PENDING_MEETING.getCode());
+ order.setPaymentTime(LocalDateTime.now());
+ order.setPaymentAmount(new BigDecimal("36.00"));
+ when(orderMapper.selectForUpdate(99L)).thenReturn(order);
+
+ commandService.cancel(7L, 99L);
+
+ assertThat(order.getStatus()).isEqualTo(OrderStatus.CANCELLED.getCode());
+ verify(orderRefundService).requestRefund(order);
+ verify(notificationService).notifyVisitorCancelledOrder(order);
+ }
}
--
Gitblit v1.7.1