| | |
| | | package cn.iocoder.yudao.module.mes.service.qc.seedquality; |
| | | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedIndicatorRangeSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedIndicatorRangeDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.qc.seedquality.MesQcSeedIndicatorRangeMapper; |
| | | import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.test.util.ReflectionTestUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | import static org.mockito.Mockito.*; |
| | | |
| | | class MesQcSeedIndicatorRangeServiceTest { |
| | | private final MesQcSeedIndicatorRangeService service = new MesQcSeedIndicatorRangeService(); |
| | | private final MesQcSeedIndicatorRangeMapper mapper = mock(MesQcSeedIndicatorRangeMapper.class); |
| | | private final MesMdmItemService itemService = mock(MesMdmItemService.class); |
| | | |
| | | @Test |
| | | void savesTemplateWithoutRestrictingActualInspection() { |
| | | void createsIndicatorRangeForProduct() { |
| | | ReflectionTestUtils.setField(service, "mapper", mapper); |
| | | ReflectionTestUtils.setField(service, "mdmItemService", itemService); |
| | | MesMdmItemDO item = new MesMdmItemDO(); |
| | | item.setId(1L); |
| | | when(itemService.getItem(1L)).thenReturn(item); |
| | | when(mapper.selectByItemIdAndCode(1L, "purity")).thenReturn(null); |
| | | MesQcSeedIndicatorRangeSaveReqVO request = new MesQcSeedIndicatorRangeSaveReqVO(); |
| | | request.setRanges(List.of(item("purity"), item("cleanliness"), item("germination_rate"), item("moisture"))); |
| | | service.saveRanges(request); |
| | | verify(mapper, times(4)).insert(any(MesQcSeedIndicatorRangeDO.class)); |
| | | } |
| | | |
| | | private MesQcSeedIndicatorRangeSaveReqVO.Item item(String code) { |
| | | MesQcSeedIndicatorRangeSaveReqVO.Item row = new MesQcSeedIndicatorRangeSaveReqVO.Item(); |
| | | row.setIndicatorCode(code); |
| | | row.setMinValue(new BigDecimal("90")); |
| | | row.setMaxValue(new BigDecimal("100")); |
| | | return row; |
| | | request.setItemId(1L); |
| | | request.setIndicatorCode("purity"); |
| | | request.setIndicatorName("纯度"); |
| | | request.setMinValue(new BigDecimal("90")); |
| | | request.setMaxValue(new BigDecimal("100")); |
| | | service.create(request); |
| | | verify(mapper, times(1)).insert(any(MesQcSeedIndicatorRangeDO.class)); |
| | | } |
| | | } |