mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2025-02-01 01:50:04 +08:00
user的h2初始化sql;user模块service方法测试
This commit is contained in:
parent
ba34e3c987
commit
25b0f0b6cb
@ -0,0 +1,170 @@
|
||||
package cn.iocoder.dashboard.modules.system.service.user;
|
||||
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.iocoder.dashboard.BaseSpringBootUnitTest;
|
||||
import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dept.SysDeptMapper;
|
||||
import cn.iocoder.dashboard.modules.system.service.dept.SysDeptService;
|
||||
import cn.iocoder.dashboard.util.RandomUtils;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.dashboard.util.RandomUtils.randomPojo;
|
||||
import static cn.iocoder.dashboard.util.RandomUtils.randomString;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* @Author zxl
|
||||
* @Date 2021/3/6 14:28
|
||||
* @Desc
|
||||
*/
|
||||
@Import(PasswordEncoder.class)
|
||||
public class SysUserServiceImplTest extends BaseSpringBootUnitTest {
|
||||
|
||||
@Autowired
|
||||
private SysUserService userService;
|
||||
@Autowired
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Autowired
|
||||
private SysDeptService deptService;
|
||||
@Resource
|
||||
private SysDeptMapper deptMapper;
|
||||
|
||||
|
||||
@Test
|
||||
public void test_creatUser(){
|
||||
// 准备参数
|
||||
SysUserCreateReqVO reqVO = randomPojo(SysUserCreateReqVO.class,o->{
|
||||
o.setDeptId(null);
|
||||
o.setPostIds(Collections.emptySet());
|
||||
o.setSex(1);
|
||||
o.setPassword(randomString());
|
||||
});
|
||||
// 调用方法
|
||||
Long userId = userService.createUser(reqVO);
|
||||
// 校验数据是否存在
|
||||
assertNotNull(userService.getUser(userId));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_updateUser(){
|
||||
// 准备参数
|
||||
SysUserCreateReqVO reqVO = randomPojo(SysUserCreateReqVO.class,o->{
|
||||
o.setDeptId(null);
|
||||
o.setPostIds(Collections.emptySet());
|
||||
o.setSex(1);
|
||||
o.setPassword(randomString());
|
||||
});
|
||||
// 先插入一条
|
||||
Long userId = userService.createUser(reqVO);
|
||||
// 准备更新参数:更新手机号
|
||||
SysUserUpdateReqVO updateVo = new SysUserUpdateReqVO();
|
||||
updateVo.setId(userId);
|
||||
updateVo.setMobile(RandomUtil.randomNumbers(11));
|
||||
// 调用方法、
|
||||
userService.updateUser(updateVo);
|
||||
// 校验结果
|
||||
assertEquals(userService.getUser(userId).getMobile(),updateVo.getMobile());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_deleteUser(){
|
||||
// 准备参数
|
||||
SysUserCreateReqVO reqVO = randomPojo(SysUserCreateReqVO.class,o->{
|
||||
o.setDeptId(null);
|
||||
o.setPostIds(Collections.emptySet());
|
||||
o.setSex(1);
|
||||
o.setPassword(randomString());
|
||||
});
|
||||
// 先插入一条
|
||||
Long userId = userService.createUser(reqVO);
|
||||
// 调用数据
|
||||
userService.deleteUser(userId);
|
||||
// 校验结果
|
||||
assertNull(userService.getUser(userId));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_updateUserPassword(){
|
||||
// 准备参数
|
||||
SysUserCreateReqVO reqVO = randomPojo(SysUserCreateReqVO.class,o->{
|
||||
o.setDeptId(null);
|
||||
o.setPostIds(Collections.emptySet());
|
||||
o.setSex(1);
|
||||
o.setPassword("123");
|
||||
});
|
||||
// 先插入一条
|
||||
Long userId = userService.createUser(reqVO);
|
||||
String newPassword = RandomUtils.randomString();
|
||||
// 调用
|
||||
userService.updateUserPassword(userId,newPassword);
|
||||
// 校验结果
|
||||
assertNotEquals(passwordEncoder.encode(newPassword),userService.getUser(userId).getPassword());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_importUsers(){
|
||||
SysDeptDO dept = randomPojo(SysDeptDO.class, o -> { // 等会查询到
|
||||
o.setName("开发部");
|
||||
o.setSort("1");
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
});
|
||||
int depId = deptMapper.insert(dept);
|
||||
// 准备参数
|
||||
List<SysUserImportExcelVO> list = new ArrayList<>();
|
||||
list.add(randomPojo(SysUserImportExcelVO.class, o->{
|
||||
o.setDeptId(dept.getId());
|
||||
o.setSex(1);
|
||||
o.setStatus(1);
|
||||
}));
|
||||
list.add(randomPojo(SysUserImportExcelVO.class, o->{
|
||||
o.setDeptId(dept.getId());
|
||||
o.setSex(1);
|
||||
o.setStatus(1);
|
||||
}));
|
||||
list.add(randomPojo(SysUserImportExcelVO.class, o->{
|
||||
o.setDeptId(dept.getId());
|
||||
o.setSex(1);
|
||||
o.setStatus(1);
|
||||
}));
|
||||
// 批量插入
|
||||
SysUserImportRespVO respVO = userService.importUsers(list,false);
|
||||
System.out.println(respVO.getCreateUsernames().size());
|
||||
// 校验结果
|
||||
assertEquals(respVO.getCreateUsernames().size(),3);
|
||||
// 批量更新
|
||||
list.get(0).setSex(0);
|
||||
SysUserImportRespVO respVOUpdate = userService.importUsers(list,true);
|
||||
System.out.println(respVOUpdate.getUpdateUsernames().size());
|
||||
// 校验结果
|
||||
assertEquals(respVOUpdate.getUpdateUsernames().size(),3);
|
||||
}
|
||||
|
||||
public SysUserCreateReqVO randomUserVO(){
|
||||
|
||||
SysUserCreateReqVO userVO = new SysUserCreateReqVO();
|
||||
userVO.setUsername(RandomUtils.randomString());
|
||||
userVO.setNickname(RandomUtils.randomString());
|
||||
userVO.setMobile(RandomUtil.randomNumbers(11));
|
||||
userVO.setEmail(RandomUtils.randomString()+"@ruoyi.com");
|
||||
userVO.setDeptId(null);
|
||||
userVO.setPostIds(Collections.emptySet());
|
||||
|
||||
userVO.setPassword(RandomUtils.randomString());
|
||||
return userVO;
|
||||
|
||||
}
|
||||
}
|
@ -7,3 +7,4 @@ DELETE FROM "sys_dict_data";
|
||||
DELETE FROM "sys_role";
|
||||
DELETE FROM "sys_role_menu";
|
||||
DELETE FROM "sys_menu";
|
||||
delete from "sys_user"
|
@ -100,3 +100,26 @@ CREATE TABLE IF NOT EXISTS "sys_menu" (
|
||||
"deleted" bit NOT NULL DEFAULT FALSE,
|
||||
PRIMARY KEY ("id")
|
||||
) COMMENT '菜单权限表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `sys_user` (
|
||||
`id` bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY COMMENT '用户ID',
|
||||
`username` varchar(30) NOT NULL COMMENT '用户账号',
|
||||
`password` varchar(100) NOT NULL DEFAULT '' COMMENT '密码',
|
||||
`nickname` varchar(30) NOT NULL COMMENT '用户昵称',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
|
||||
`post_ids` varchar(255) DEFAULT NULL COMMENT '岗位编号数组',
|
||||
`email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
|
||||
`mobile` varchar(11) DEFAULT '' COMMENT '手机号码',
|
||||
`sex` tinyint(4) DEFAULT '0' COMMENT '用户性别',
|
||||
`avatar` varchar(100) DEFAULT '' COMMENT '头像地址',
|
||||
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
|
||||
`login_ip` varchar(50) DEFAULT '' COMMENT '最后登录IP',
|
||||
`login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` bit NOT NULL DEFAULT FALSE,
|
||||
PRIMARY KEY (`id`)
|
||||
) COMMENT='用户信息表';
|
Loading…
Reference in New Issue
Block a user