From 6b8585fc452ecdcaa82d86fab79a9f27bb442851 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 09:13:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_南通_苏珩' into dev_南通_苏珩
---
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImplTest.java | 43 ++++++++++++++++++++++++++++++-------------
1 files changed, 30 insertions(+), 13 deletions(-)
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImplTest.java
index 706bbff..22ceb15 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImplTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImplTest.java
@@ -10,8 +10,11 @@
import org.springframework.context.annotation.Import;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
-import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.erp.api.sale.ErpSaleOrderApi;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
+import cn.iocoder.yudao.module.mes.service.qc.oqc.MesQcOqcService;
import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService;
+import cn.iocoder.yudao.module.mes.service.wm.salesnotice.MesWmSalesNoticeLineService;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
@@ -39,9 +42,15 @@
private MesWmProductSalesDetailService productSalesDetailService;
@MockitoBean
- private MesMdItemService itemService;
+ private MesMdmItemService mdmItemService;
@MockitoBean
private MesWmBatchService batchService;
+ @MockitoBean
+ private MesWmSalesNoticeLineService salesNoticeLineService;
+ @MockitoBean
+ private MesQcOqcService oqcService;
+ @MockitoBean
+ private ErpSaleOrderApi saleOrderApi;
@Test
public void testUpdateProductSalesLineWhenOqcFinish_pass() {
@@ -63,13 +72,15 @@
MesWmProductSalesLineDO updateLine = productSalesLineMapper.selectById(lineDO.getId());
assertEquals(oqcId, updateLine.getOqcId());
assertEquals(MesWmQualityStatusEnum.PASS.getStatus(), updateLine.getQualityStatus());
+ // 鏂█锛氬叏閮ㄩ渶妫�琛屽悎鏍� 鈫� 鍑哄簱鍗曡嚜鍔ㄦ祦杞緟鎷h揣
+ verify(productSalesService).confirmProductSales(lineDO.getSalesId());
}
@Test
public void testUpdateProductSalesLineWhenOqcFinish_fail() {
- // 鍑嗗鍙傛暟
+ // 鍑嗗鍙傛暟锛�2 琛ㄧず鏍¢獙涓嶉�氳繃
Long oqcId = randomLongId();
- Integer checkResult = MesQcCheckResultEnum.QUALIFIED.getType();
+ Integer checkResult = 2;
// mock 鏁版嵁
MesWmProductSalesLineDO lineDO = randomPojo(MesWmProductSalesLineDO.class, o -> {
@@ -85,10 +96,13 @@
MesWmProductSalesLineDO updateLine = productSalesLineMapper.selectById(lineDO.getId());
assertEquals(oqcId, updateLine.getOqcId());
assertEquals(MesWmQualityStatusEnum.FAIL.getStatus(), updateLine.getQualityStatus());
+ // 鏂█锛氬瓨鍦ㄤ笉鍚堟牸琛屾椂淇濇寔寰呮娴嬶紝涓嶈嚜鍔ㄥ彇娑堟暣寮犲嚭搴撳崟
+ verify(productSalesService, never()).cancelProductSales(anyLong());
+ verify(productSalesService, never()).confirmProductSales(anyLong());
}
@Test
- public void testUpdateProductSalesLineWhenOqcFinish_cancelWhenNg() {
+ public void testUpdateProductSalesLineWhenOqcFinish_noCancelWhenNg() {
// 鍑嗗鏁版嵁锛氬悓涓�鍑哄簱鍗曚笅 2 琛岋紝绗� 1 琛屽凡鍚堟牸锛岀 2 琛屽嵆灏嗗彉鏇翠负涓嶅悎鏍�
Long salesId = randomLongId();
MesWmProductSalesLineDO line1 = randomPojo(MesWmProductSalesLineDO.class, o -> {
@@ -107,14 +121,15 @@
// 璋冪敤锛氱 2 琛岃川妫�涓嶅悎鏍�
productSalesLineService.updateProductSalesLineWhenOqcFinish(
- line2.getId(), randomLongId(), MesQcCheckResultEnum.QUALIFIED.getType());
+ line2.getId(), randomLongId(), 2);
- // 鏂█锛氬簲璇ヨ皟鐢� cancelProductSales
- verify(productSalesService).cancelProductSales(eq(salesId));
+ // 鏂█锛氫笉鍚堟牸琛岀暀寰呭悗缁缃紝涓嶈兘鑷姩鍙栨秷鍑哄簱鍗�
+ verify(productSalesService, never()).cancelProductSales(anyLong());
+ verify(productSalesService, never()).confirmProductSales(anyLong());
}
@Test
- public void testUpdateProductSalesLineWhenOqcFinish_noCancelWhenAllPass() {
+ public void testUpdateProductSalesLineWhenOqcFinish_confirmWhenAllPass() {
// 鍑嗗鏁版嵁锛氬悓涓�鍑哄簱鍗曚笅 2 琛岋紝绗� 1 琛屽凡鍚堟牸锛岀 2 琛屽嵆灏嗗彉鏇翠负鍚堟牸
Long salesId = randomLongId();
MesWmProductSalesLineDO line1 = randomPojo(MesWmProductSalesLineDO.class, o -> {
@@ -135,7 +150,8 @@
productSalesLineService.updateProductSalesLineWhenOqcFinish(
line2.getId(), randomLongId(), MesQcCheckResultEnum.QUALIFIED.getType());
- // 鏂█锛氫笉搴旇璋冪敤 cancelProductSales
+ // 鏂█锛氬叏閮ㄩ渶妫�琛屽悎鏍� 鈫� 娴佽浆寰呮嫞璐э紝涓嶅彇娑堝嚭搴撳崟
+ verify(productSalesService).confirmProductSales(eq(salesId));
verify(productSalesService, never()).cancelProductSales(anyLong());
}
@@ -157,12 +173,13 @@
});
productSalesLineMapper.insert(line2);
- // 璋冪敤锛氱 2 琛岃川妫�涓嶅悎鏍�
+ // 璋冪敤锛氱 2 琛岃川妫�鍚堟牸
productSalesLineService.updateProductSalesLineWhenOqcFinish(
line2.getId(), randomLongId(), MesQcCheckResultEnum.QUALIFIED.getType());
- // 鏂█锛氱 2 琛屼笉鍚堟牸 鈫� 搴旇鍙栨秷鍑哄簱鍗�
- verify(productSalesService).cancelProductSales(eq(salesId));
+ // 鏂█锛氭湭鍕鹃�夊嚭璐ф楠岀殑琛屼笉鍙備笌寰呮鍒ゆ柇 鈫� 鍏ㄩ儴闇�妫�琛屽悎鏍煎悗娴佽浆寰呮嫞璐�
+ verify(productSalesService).confirmProductSales(eq(salesId));
+ verify(productSalesService, never()).cancelProductSales(anyLong());
}
}
--
Gitblit v1.9.3