1、保存订单商品,2、验证参数是否合法
This commit is contained in:
@@ -5,6 +5,7 @@ import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.shop.config.OrderConfigProperties;
|
||||
import com.gxwebsoft.shop.dto.OrderCreateRequest;
|
||||
import com.gxwebsoft.shop.entity.ShopGoods;
|
||||
import com.gxwebsoft.shop.entity.ShopOrder;
|
||||
import com.gxwebsoft.shop.service.OrderBusinessService;
|
||||
import com.gxwebsoft.shop.service.ShopGoodsService;
|
||||
import com.gxwebsoft.shop.service.ShopOrderGoodsService;
|
||||
@@ -240,4 +241,39 @@ class OrderValidationTest {
|
||||
assertTrue(cause instanceof BusinessException);
|
||||
assertTrue(cause.getMessage().contains("订单金额计算错误"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testBuildShopOrder_RequiredFields() throws Exception {
|
||||
// Mock 配置
|
||||
OrderConfigProperties.DefaultConfig defaultConfig = new OrderConfigProperties.DefaultConfig();
|
||||
defaultConfig.setDefaultComments("默认备注");
|
||||
when(orderConfig.getDefaultConfig()).thenReturn(defaultConfig);
|
||||
|
||||
// 使用反射调用 buildShopOrder 方法
|
||||
java.lang.reflect.Method buildMethod = OrderBusinessService.class
|
||||
.getDeclaredMethod("buildShopOrder", OrderCreateRequest.class, User.class);
|
||||
buildMethod.setAccessible(true);
|
||||
|
||||
ShopOrder result = (ShopOrder) buildMethod.invoke(orderBusinessService, testRequest, testUser);
|
||||
|
||||
// 验证必需字段都已设置
|
||||
assertNotNull(result.getPayPrice(), "payPrice 不能为空");
|
||||
assertNotNull(result.getPrice(), "price 不能为空");
|
||||
assertNotNull(result.getReducePrice(), "reducePrice 不能为空");
|
||||
assertNotNull(result.getMoney(), "money 不能为空");
|
||||
assertNotNull(result.getPayStatus(), "payStatus 不能为空");
|
||||
assertNotNull(result.getOrderStatus(), "orderStatus 不能为空");
|
||||
assertNotNull(result.getDeliveryStatus(), "deliveryStatus 不能为空");
|
||||
assertNotNull(result.getPayType(), "payType 不能为空");
|
||||
|
||||
// 验证默认值
|
||||
assertEquals(testRequest.getTotalPrice(), result.getPayPrice());
|
||||
assertEquals(testRequest.getTotalPrice(), result.getPrice());
|
||||
assertEquals(BigDecimal.ZERO, result.getReducePrice());
|
||||
assertEquals(testRequest.getTotalPrice(), result.getMoney());
|
||||
assertEquals(false, result.getPayStatus());
|
||||
assertEquals(Integer.valueOf(0), result.getOrderStatus());
|
||||
assertEquals(Integer.valueOf(10), result.getDeliveryStatus());
|
||||
assertEquals(Integer.valueOf(1), result.getPayType());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user