package cn.iocoder.yudao.module.mes.dal.mysql.qc.iqc;
|
|
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.MesQcIqcPageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.iqc.MesQcIqcDO;
|
import jakarta.annotation.Resource;
|
import org.junit.jupiter.api.Test;
|
|
import java.time.LocalDateTime;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
class MesQcIqcMapperTest extends BaseDbUnitTest {
|
|
@Resource
|
private MesQcIqcMapper mapper;
|
|
private final LocalDateTime receiveDate = LocalDateTime.of(2026, 10, 12, 0, 0);
|
|
private MesQcIqcDO insert(String vendorName) {
|
MesQcIqcDO record = new MesQcIqcDO().setCode("IQC-" + vendorName)
|
.setItemId(10L).setVendorName(vendorName)
|
.setVendorBatch("B001").setReceiveDate(receiveDate);
|
mapper.insert(record);
|
return record;
|
}
|
|
@Test
|
void freeTextSupplierPersistsAndSeparatesImportDuplicates() {
|
MesQcIqcDO first = insert("手填供应商A");
|
insert("手填供应商B");
|
assertEquals("手填供应商A", mapper.selectById(first.getId()).getVendorName());
|
assertEquals(1, mapper.selectListByImportKey(10L, "手填供应商A", "B001", receiveDate).size());
|
assertEquals(0, mapper.selectListByImportKey(10L, "手填供应商C", "B001", receiveDate).size());
|
MesQcIqcPageReqVO query = new MesQcIqcPageReqVO();
|
query.setVendorName("供应商A");
|
assertEquals(1L, mapper.selectPage(query).getTotal());
|
}
|
|
@Test
|
void blankSupplierMatchesBothEmptyAndLegacyNull() {
|
insert(null);
|
insert("");
|
insert("手填供应商");
|
assertEquals(2, mapper.selectListByImportKey(10L, "", "B001", receiveDate).size());
|
}
|
|
@Test
|
void supplierCanBeClearedWhenEditing() {
|
MesQcIqcDO record = insert("手填供应商");
|
mapper.updateById(new MesQcIqcDO().setId(record.getId()).setVendorName(""));
|
assertEquals("", mapper.selectById(record.getId()).getVendorName());
|
}
|
}
|