| | |
| | | import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants; |
| | | import cn.iocoder.yudao.module.mes.enums.qc.MesQcStatusEnum; |
| | | import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; |
| | | import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi; |
| | | import cn.iocoder.yudao.module.mes.service.qc.MesQcCompletionHelper; |
| | | import cn.iocoder.yudao.module.mes.service.qc.defectrecord.MesQcDefectRecordService; |
| | | import cn.iocoder.yudao.module.mes.service.qc.imports.MesQcImportHelper; |
| | | import cn.iocoder.yudao.module.mes.service.qc.ncr.MesQcNcrService; |
| | | import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi; |
| | | import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateItemService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.outsourcereceipt.MesWmOutsourceReceiptService; |
| | | import cn.iocoder.yudao.module.mes.service.qc.indicatorresult.MesQcIndicatorResultService; |
| | | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| | | import org.junit.jupiter.api.BeforeEach; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.context.annotation.Import; |
| | | import org.springframework.test.context.bean.override.mockito.MockitoBean; |
| | |
| | | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; |
| | | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; |
| | | import static org.junit.jupiter.api.Assertions.*; |
| | | import static org.mockito.ArgumentMatchers.*; |
| | | import static org.mockito.Mockito.*; |
| | | |
| | | /** |
| | |
| | | private AdminUserApi adminUserApi; |
| | | @MockitoBean |
| | | private MesQcIndicatorResultService indicatorResultService; |
| | | @MockitoBean |
| | | private MesQcCompletionHelper completionHelper; |
| | | @MockitoBean |
| | | private SrmSupplierApi srmSupplierApi; |
| | | @MockitoBean |
| | | private MdmItemApi mdmItemApi; |
| | | @MockitoBean |
| | | private MesQcNcrService ncrService; |
| | | @MockitoBean |
| | | private MesQcImportHelper qcImportHelper; |
| | | |
| | | @BeforeEach |
| | | void stubCompletionHelper() { |
| | | when(completionHelper.validateAndGetResult(anyString(), anyLong(), any(), any(), any())).thenReturn(1); |
| | | } |
| | | |
| | | @Test |
| | | public void testFinishIqc_writeBack_arrivalNotice() { |
| | |
| | | } |
| | | |
| | | @Test |
| | | public void testFinishIqc_checkResultEmpty() { |
| | | // 准备数据:checkResult 为空,应该报错 |
| | | public void testFinishIqc_checkResultAutoComputed() { |
| | | // 准备数据:检测结论不再由用户填写,完成时按合格/不合格数量自动判定 |
| | | MesQcIqcDO iqc = randomPojo(MesQcIqcDO.class, o -> { |
| | | o.setStatus(MesQcStatusEnum.DRAFT.getStatus()); |
| | | o.setCheckResult(null); // 检测结论为空 |
| | | o.setCheckResult(null); |
| | | o.setSourceDocType(null); |
| | | o.setCheckQuantity(BigDecimal.valueOf(100)); |
| | | o.setQualifiedQuantity(BigDecimal.valueOf(100)); |
| | | o.setUnqualifiedQuantity(BigDecimal.ZERO); |
| | | }); |
| | | iqcMapper.insert(iqc); |
| | | |
| | | // 调用,应该抛异常(检测结论必填) |
| | | assertThrows(Exception.class, () -> iqcService.finishIqc(iqc.getId())); |
| | | // 调用 |
| | | iqcService.finishIqc(iqc.getId()); |
| | | |
| | | // 断言:检测结论由系统判定并回写 |
| | | MesQcIqcDO updatedIqc = iqcMapper.selectById(iqc.getId()); |
| | | assertEquals(MesQcStatusEnum.FINISHED.getStatus(), updatedIqc.getStatus()); |
| | | assertEquals(1, updatedIqc.getCheckResult()); |
| | | } |
| | | |
| | | @Test |