|
|
@@ -236,11 +236,30 @@ class UserOrderNotificationSceneTest {
|
|
|
@Test
|
|
|
void readyNotificationOnlyAddsSceneToUserAndWaitsForCommit() {
|
|
|
PosOrderShOprateController controller = wire(new PosOrderShOprateController());
|
|
|
+ ReflectionTestUtils.setField(controller, "linePayOrderGuard", mock(LinePayOrderGuard.class));
|
|
|
+ ReflectionTestUtils.setField(controller, "orderInvoiceService", mock(OrderInvoiceService.class));
|
|
|
InfoUser rider = new InfoUser(); rider.setUserId(88L); rider.setUserType("2");
|
|
|
when(users.list(any(com.baomidou.mybatisplus.core.conditions.Wrapper.class))).thenReturn(List.of(user, rider)); order.setQsId(88L);
|
|
|
- controller.chuCan(order, order);
|
|
|
+ order.setState(1L);
|
|
|
+ controller.dispatchOrder(JwtUtil.token("101", "owner"), 10L);
|
|
|
assertTrue(userBodies.isEmpty()); assertTrue(riderBodies.isEmpty()); commit();
|
|
|
assertEquals("MERCHANT_READY", userBodies.get(0).getString("eventScene"));
|
|
|
assertEquals(1, riderBodies.size()); assertFalse(riderBodies.get(0).containsKey("eventScene"));
|
|
|
}
|
|
|
+
|
|
|
+ @ParameterizedTest
|
|
|
+ @ValueSource(longs = {0, 1, 2})
|
|
|
+ void legacyInformationEditDoesNotPretendMerchantReady(long originalState) {
|
|
|
+ PosOrderShOprateController merchantController = wire(new PosOrderShOprateController());
|
|
|
+ PosOrderController legacyController = wire(new PosOrderController());
|
|
|
+ ReflectionTestUtils.setField(legacyController, "shOprateController", merchantController);
|
|
|
+ when(users.list(any(com.baomidou.mybatisplus.core.conditions.Wrapper.class))).thenReturn(List.of(user));
|
|
|
+ order.setState(originalState); order.setCollectPayment("0");
|
|
|
+ PosOrder edit = new PosOrder(); edit.setId(10L); edit.setCollectPayment("0"); // No state change.
|
|
|
+ ReflectionTestUtils.invokeMethod(legacyController, "setOrderNoState", edit, "88");
|
|
|
+ assertTrue(userBodies.isEmpty()); commit();
|
|
|
+ assertEquals(1, userBodies.size()); // Preserve the existing text notification, without inventing success.
|
|
|
+ assertFalse(userBodies.get(0).containsKey("eventScene"));
|
|
|
+ assertEquals(String.valueOf(originalState), userBodies.get(0).getString("state"));
|
|
|
+ }
|
|
|
}
|