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.qc.seedquality.MesQcSeedIndicatorRangeDO; import cn.iocoder.yudao.module.mes.dal.mysql.qc.seedquality.MesQcSeedIndicatorRangeMapper; 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); @Test void savesTemplateWithoutRestrictingActualInspection() { ReflectionTestUtils.setField(service, "mapper", mapper); 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; } }