【优化】个人信息手机号码校验调整

pull/1/head
zengchenxi 9 months ago
parent ee9e4c0a18
commit f0640c6b92

@ -1,174 +0,0 @@
package com.chanko.yunxi.mes.module.heli.service.procedure;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import javax.annotation.Resource;
import com.chanko.yunxi.mes.framework.test.core.ut.BaseDbUnitTest;
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import javax.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import java.time.LocalDateTime;
import static cn.hutool.core.util.RandomUtil.*;
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
import static com.chanko.yunxi.mes.framework.test.core.util.AssertUtils.*;
import static com.chanko.yunxi.mes.framework.test.core.util.RandomUtils.*;
import static com.chanko.yunxi.mes.framework.common.util.date.LocalDateTimeUtils.*;
import static com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils.*;
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
/**
* {@link ProcedureServiceImpl}
*
* @author
*/
@Import(ProcedureServiceImpl.class)
public class ProcedureServiceImplTest extends BaseDbUnitTest {
@Resource
private ProcedureServiceImpl procedureService;
@Resource
private ProcedureMapper procedureMapper;
@Test
public void testCreateProcedure_success() {
// 准备参数
ProcedureSaveReqVO createReqVO = randomPojo(ProcedureSaveReqVO.class).setId(null);
// 调用
Long procedureId = procedureService.createProcedure(createReqVO);
// 断言
assertNotNull(procedureId);
// 校验记录的属性是否正确
ProcedureDO procedure = procedureMapper.selectById(procedureId);
assertPojoEquals(createReqVO, procedure, "id");
}
@Test
public void testUpdateProcedure_success() {
// mock 数据
ProcedureDO dbProcedure = randomPojo(ProcedureDO.class);
procedureMapper.insert(dbProcedure);// @Sql: 先插入出一条存在的数据
// 准备参数
ProcedureSaveReqVO updateReqVO = randomPojo(ProcedureSaveReqVO.class, o -> {
o.setId(dbProcedure.getId()); // 设置更新的 ID
});
// 调用
procedureService.updateProcedure(updateReqVO);
// 校验是否更新正确
ProcedureDO procedure = procedureMapper.selectById(updateReqVO.getId()); // 获取最新的
assertPojoEquals(updateReqVO, procedure);
}
@Test
public void testUpdateProcedure_notExists() {
// 准备参数
ProcedureSaveReqVO updateReqVO = randomPojo(ProcedureSaveReqVO.class);
// 调用, 并断言异常
assertServiceException(() -> procedureService.updateProcedure(updateReqVO), PROCEDURE_NOT_EXISTS);
}
@Test
public void testDeleteProcedure_success() {
// mock 数据
ProcedureDO dbProcedure = randomPojo(ProcedureDO.class);
procedureMapper.insert(dbProcedure);// @Sql: 先插入出一条存在的数据
// 准备参数
Long id = dbProcedure.getId();
// 调用
procedureService.deleteProcedure(id);
// 校验数据不存在了
assertNull(procedureMapper.selectById(id));
}
@Test
public void testDeleteProcedure_notExists() {
// 准备参数
Long id = randomLongId();
// 调用, 并断言异常
assertServiceException(() -> procedureService.deleteProcedure(id), PROCEDURE_NOT_EXISTS);
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetProcedurePage() {
// mock 数据
ProcedureDO dbProcedure = randomPojo(ProcedureDO.class, o -> { // 等会查询到
o.setCode(null);
o.setName(null);
o.setDescription(null);
o.setStatus(null);
o.setCreator(null);
o.setCreateTime(null);
o.setUpdater(null);
o.setUpdateTime(null);
o.setDeleted(null);
o.setTenantId(null);
o.setIsReport(null);
o.setWid(null);
});
procedureMapper.insert(dbProcedure);
// 测试 code 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setCode(null)));
// 测试 name 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setName(null)));
// 测试 description 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setDescription(null)));
// 测试 status 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setStatus(null)));
// 测试 creator 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setCreator(null)));
// 测试 createTime 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setCreateTime(null)));
// 测试 updater 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setUpdater(null)));
// 测试 updateTime 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setUpdateTime(null)));
// 测试 deleted 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setDeleted(null)));
// 测试 tenantId 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setTenantId(null)));
// 测试 isReport 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setIsReport(null)));
// 测试 wid 不匹配
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setWid(null)));
// 准备参数
ProcedurePageReqVO reqVO = new ProcedurePageReqVO();
reqVO.setCode(null);
reqVO.setName(null);
reqVO.setDescription(null);
reqVO.setStatus(null);
reqVO.setCreator(null);
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
reqVO.setUpdater(null);
reqVO.setUpdateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
reqVO.setDeleted(null);
reqVO.setTenantId(null);
reqVO.setIsReport(null);
reqVO.setWid(null);
// 调用
PageResult<ProcedureDO> pageResult = procedureService.getProcedurePage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
assertPojoEquals(dbProcedure, pageResult.getList().get(0));
}
}

@ -1,8 +1,8 @@
package com.chanko.yunxi.mes.module.system.controller.admin.user.vo.profile; package com.chanko.yunxi.mes.module.system.controller.admin.user.vo.profile;
import com.chanko.yunxi.mes.framework.common.validation.Mobile;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Email; import javax.validation.constraints.Email;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
@ -22,7 +22,7 @@ public class UserProfileUpdateReqVO {
private String email; private String email;
@Schema(description = "手机号码", example = "15601691300") @Schema(description = "手机号码", example = "15601691300")
@Length(min = 11, max = 11, message = "手机号长度必须 11 位") @Mobile
private String mobile; private String mobile;
@Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1")

@ -37,14 +37,6 @@ const rules = reactive<FormRules>({
message: t('profile.rules.truemail'), message: t('profile.rules.truemail'),
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
],
mobile: [
{ required: true, message: t('profile.rules.phone'), trigger: 'blur' },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: t('profile.rules.truephone'),
trigger: 'blur'
}
] ]
}) })
const schema = reactive<FormSchema[]>([ const schema = reactive<FormSchema[]>([

Loading…
Cancel
Save