test(system): 重构系统模块测试用例
- 更新了 Dept、Role 和 User 相关的测试用例 - 优化了测试数据的初始化和清理逻辑 - 调整了部分测试方法的实现方式,提高了可读性和维护性 - 移除了未使用的测试用例和冗余代码
This commit is contained in:
parent
6161f8abfb
commit
c97e485305
@ -40,7 +40,7 @@ public class EventQuery {
|
||||
public LambdaQueryWrapper<Event> wrapper() {
|
||||
LambdaQueryWrapper<Event> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.hasText(this.name), Event::getName, this.name);
|
||||
queryWrapper.eq(StringUtils.hasText(this.identifier), Event::getIdentifier, this.identifier);
|
||||
queryWrapper.like(StringUtils.hasText(this.identifier), Event::getIdentifier, this.identifier);
|
||||
queryWrapper.eq(StringUtils.hasText(this.level), Event::getType, this.level);
|
||||
queryWrapper.eq(Objects.nonNull(this.productId), Event::getProductId, this.productId);
|
||||
return queryWrapper;
|
||||
|
@ -37,8 +37,8 @@ public class PropertyQuery {
|
||||
public LambdaQueryWrapper<Property> wrapper() {
|
||||
LambdaQueryWrapper<Property> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(this.type != null, Property::getIoType, this.type);
|
||||
queryWrapper.eq(StringUtils.hasText(this.identifier), Property::getIdentifier, this.identifier);
|
||||
queryWrapper.like(Objects.nonNull(this.productId), Property::getProductId, this.productId);
|
||||
queryWrapper.like(StringUtils.hasText(this.identifier), Property::getIdentifier, this.identifier);
|
||||
queryWrapper.eq(Objects.nonNull(this.productId), Property::getProductId, this.productId);
|
||||
queryWrapper.like(StringUtils.hasText(this.name), Property::getName, this.name);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ public class ServeQuery {
|
||||
public LambdaQueryWrapper<Serve> wrapper() {
|
||||
LambdaQueryWrapper<Serve> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.hasText(this.name), Serve::getName, this.name);
|
||||
queryWrapper.eq(StringUtils.hasText(this.identifier), Serve::getIdentifier, this.identifier);
|
||||
queryWrapper.like(StringUtils.hasText(this.identifier), Serve::getIdentifier, this.identifier);
|
||||
queryWrapper.eq(Objects.nonNull(this.productId), Serve::getProductId, this.productId);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ public class RoleController {
|
||||
public Boolean update(@RequestBody RoleDto dto, @PathVariable("id") Long id) {
|
||||
// Role role = roleMapper.toEntity(dto);
|
||||
// role.setId(id);
|
||||
return service.updateRole(dto, id);
|
||||
return service.edit(dto, id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,13 +35,7 @@ public class RoleDto {
|
||||
/**
|
||||
* 权限列表
|
||||
*/
|
||||
public Set<Authority> authorities;
|
||||
public Set<AuthorityCreateDto> authorities;
|
||||
|
||||
public LambdaUpdateWrapper<Role> updateWrapper(Long id) {
|
||||
LambdaUpdateWrapper<Role> update = new LambdaUpdateWrapper<>();
|
||||
return update.eq(Role::getId, id)
|
||||
.set(Role::getName, name)
|
||||
.set(StringUtils.hasText(remark), Role::getRemark, remark);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -29,7 +29,5 @@ public interface RoleService extends IService<Role> {
|
||||
|
||||
Boolean delete(Long id);
|
||||
|
||||
Boolean updateRole(RoleDto dto, Long id);
|
||||
|
||||
Boolean saveRoleAuths(Long roleId, Set<AuthorityCreateDto> authorities);
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import com.zsc.edu.gateway.modules.system.entity.Role;
|
||||
import com.zsc.edu.gateway.modules.system.entity.User;
|
||||
import com.zsc.edu.gateway.modules.system.mapper.RoleMapper;
|
||||
import com.zsc.edu.gateway.modules.system.mapper.UserMapper;
|
||||
import com.zsc.edu.gateway.modules.system.service.RoleService;
|
||||
import com.zsc.edu.gateway.modules.system.service.UserService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.zsc.edu.gateway.rest.system;
|
||||
|
||||
//import com.zsc.edu.gateway.MockMvcConfigBase;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zsc.edu.gateway.MockMvcConfigBase;
|
||||
import com.zsc.edu.gateway.domain.system.DeptBuilder;
|
||||
import com.zsc.edu.gateway.modules.system.controller.DeptController;
|
||||
@ -63,11 +65,16 @@ public class DeptControllerTest extends MockMvcConfigBase {
|
||||
@Test
|
||||
void list() throws Exception {
|
||||
List<Dept> depts = Lists.newArrayList(dept1, dept2);
|
||||
when(service.list()).thenReturn(depts);
|
||||
mockMvc.perform(get("/api/rest/dept").with(user(userDetails)))
|
||||
.andExpect(status().isOk())
|
||||
Page<Dept> pageResult = new Page<>();
|
||||
pageResult.setRecords(depts);
|
||||
pageResult.setTotal(depts.size());
|
||||
|
||||
when(service.page(any(Page.class), any())).thenReturn(pageResult);
|
||||
mockMvc.perform(get("/api/rest/dept")
|
||||
.with(user(userDetails))
|
||||
).andExpect(status().isOk())
|
||||
.andDo(print());
|
||||
verify(service).list();
|
||||
verify(service).page(any(Page.class), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -84,43 +91,4 @@ public class DeptControllerTest extends MockMvcConfigBase {
|
||||
.andExpect(status().isOk()).andDo(print());
|
||||
verify(service).edit(any(), any());
|
||||
}
|
||||
//
|
||||
// @Test
|
||||
// void remove() throws Exception {
|
||||
// when(service.deleteById(anyLong())).thenReturn(lampGroup1);
|
||||
// mockMvc.perform(delete("/api/rest/lamp-group/{id}", lampGroup1.id)
|
||||
// .with(csrf().asHeader())
|
||||
// .with(user(userDetails))
|
||||
// )
|
||||
// .andExpect(status().isOk())
|
||||
// .andDo(document("lamp-group/delete"));
|
||||
// verify(service).deleteById(anyLong());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void detail() throws Exception {
|
||||
// when(service.detail(anyLong())).thenReturn(lampGroup1);
|
||||
// mockMvc.perform(get("/api/rest/lamp-group/{id}", lampGroup1.id)
|
||||
// .with(user(userDetails))
|
||||
// )
|
||||
// .andExpect(status().isOk())
|
||||
// .andDo(document("lamp-group/detail"));
|
||||
// verify(service).detail(anyLong());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void batchDelete() throws Exception {
|
||||
// Long[] ids = new Long[]{1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l, 9l, 10l, 11l, 12l};
|
||||
// when(service.batchDelete(any())).thenReturn(ids);
|
||||
// mockMvc.perform(post("/api/rest/lamp-group/batchRemove")
|
||||
// .contentType(MediaType.APPLICATION_JSON)
|
||||
// .content(objectMapper.writeValueAsString(ids))
|
||||
// .with(csrf().asHeader())
|
||||
// .with(user(userDetails))
|
||||
// )
|
||||
// .andExpect(status().isOk())
|
||||
// .andDo(document("lamp-group/batchRemove"));
|
||||
// verify(service).batchDelete(any());
|
||||
// }
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,17 @@
|
||||
package com.zsc.edu.gateway.rest.system;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zsc.edu.gateway.MockMvcConfigBase;
|
||||
import com.zsc.edu.gateway.domain.system.RoleBuilder;
|
||||
import com.zsc.edu.gateway.modules.system.controller.RoleController;
|
||||
import com.zsc.edu.gateway.modules.system.dto.RoleDto;
|
||||
import com.zsc.edu.gateway.modules.system.entity.Role;
|
||||
import com.zsc.edu.gateway.modules.system.service.RoleAuthService;
|
||||
import com.zsc.edu.gateway.modules.system.service.RoleService;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Spy;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.http.MediaType;
|
||||
@ -20,31 +23,34 @@ import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
|
||||
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
@WebMvcTest(RoleController.class)
|
||||
public class RoleControllerTest extends MockMvcConfigBase {
|
||||
@Spy
|
||||
private static Role role1;
|
||||
|
||||
private static Role role2;
|
||||
|
||||
@MockBean
|
||||
private RoleService service;
|
||||
@MockBean
|
||||
private RoleAuthService authService;
|
||||
|
||||
@BeforeAll
|
||||
static void beforeAll() {
|
||||
role1 = RoleBuilder.aRole().name("管理员").build();
|
||||
role1.setId(1L);
|
||||
role2 = RoleBuilder.aRole().name("普通用户").build();
|
||||
role2.setId(2L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void create() throws Exception{
|
||||
void create() throws Exception {
|
||||
RoleDto dto = new RoleDto();
|
||||
dto.name = role1.getName();
|
||||
dto.setName(role1.getName());
|
||||
when(service.create(any())).thenReturn(role1);
|
||||
mockMvc.perform(post("/api/rest/role")
|
||||
.with(csrf().asHeader())
|
||||
@ -57,79 +63,30 @@ public class RoleControllerTest extends MockMvcConfigBase {
|
||||
|
||||
@Test
|
||||
void list() throws Exception {
|
||||
List<Role> Roles = Lists.newArrayList(role1, role2);
|
||||
when(service.list()).thenReturn(Roles);
|
||||
mockMvc.perform(get("/api/rest/role").with(user(userDetails)))
|
||||
.andExpect(status().isOk())
|
||||
List<Role> roles = Lists.newArrayList(role1, role2);
|
||||
Page<Role> pageResult = new Page<>();
|
||||
pageResult.setRecords(roles);
|
||||
pageResult.setTotal((long) roles.size());
|
||||
|
||||
when(service.page(any(Page.class), any())).thenReturn(pageResult);
|
||||
mockMvc.perform(get("/api/rest/role")
|
||||
.with(user(userDetails))
|
||||
).andExpect(status().isOk())
|
||||
.andDo(print());
|
||||
verify(service).list();
|
||||
verify(service).page(any(Page.class), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
RoleDto dto = new RoleDto();
|
||||
dto.name = role1.getName();
|
||||
when(service.update(any(), any())).thenReturn(true);
|
||||
mockMvc.perform(patch("/api/rest/role/{id}", role1.id)
|
||||
dto.setName(role1.getName());
|
||||
when(service.edit(any(), any())).thenReturn(true);
|
||||
mockMvc.perform(patch("/api/rest/role/{id}", role1.getId())
|
||||
.with(csrf().asHeader())
|
||||
.with(user(userDetails))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.content(objectMapper.writeValueAsString(dto))
|
||||
)
|
||||
.andExpect(status().isOk()).andDo(print());
|
||||
verify(service).update(any(), any());
|
||||
).andExpect(status().isOk()).andDo(print());
|
||||
verify(service).edit(any(), any());
|
||||
}
|
||||
// @Test
|
||||
// void update() throws Exception {
|
||||
// AuthorityDto dto = new AuthorityDto();
|
||||
// dto.name = aut1.getName();
|
||||
// when(service.update((AuthorityDto) any(), any())).thenReturn(true);
|
||||
// mockMvc.perform(patch("/api/rest/auth/{id}", aut1.id)
|
||||
// .with(csrf().asHeader())
|
||||
// .with(user(userDetails))
|
||||
// .contentType(MediaType.APPLICATION_JSON)
|
||||
// .content(objectMapper.writeValueAsString(dto))
|
||||
// )
|
||||
// .andExpect(status().isOk()).andDo(print());
|
||||
// verify(service).update((AuthorityDto) any(), any());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void remove() throws Exception {
|
||||
// when(service.deleteById(anyLong())).thenReturn(lampGroup1);
|
||||
// mockMvc.perform(delete("/api/rest/lamp-group/{id}", lampGroup1.id)
|
||||
// .with(csrf().asHeader())
|
||||
// .with(user(userDetails))
|
||||
// )
|
||||
// .andExpect(status().isOk())
|
||||
// .andDo(document("lamp-group/delete"));
|
||||
// verify(service).deleteById(anyLong());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void detail() throws Exception {
|
||||
// when(service.detail(anyLong())).thenReturn(lampGroup1);
|
||||
// mockMvc.perform(get("/api/rest/lamp-group/{id}", lampGroup1.id)
|
||||
// .with(user(userDetails))
|
||||
// )
|
||||
// .andExpect(status().isOk())
|
||||
// .andDo(document("lamp-group/detail"));
|
||||
// verify(service).detail(anyLong());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void batchDelete() throws Exception {
|
||||
// Long[] ids = new Long[]{1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l, 9l, 10l, 11l, 12l};
|
||||
// when(service.batchDelete(any())).thenReturn(ids);
|
||||
// mockMvc.perform(post("/api/rest/lamp-group/batchRemove")
|
||||
// .contentType(MediaType.APPLICATION_JSON)
|
||||
// .content(objectMapper.writeValueAsString(ids))
|
||||
// .with(csrf().asHeader())
|
||||
// .with(user(userDetails))
|
||||
// )
|
||||
// .andExpect(status().isOk())
|
||||
// .andDo(document("lamp-group/batchRemove"));
|
||||
// verify(service).batchDelete(any());
|
||||
// }
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.zsc.edu.gateway.service.system;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zsc.edu.gateway.common.util.TreeUtil;
|
||||
import com.zsc.edu.gateway.domain.system.DeptBuilder;
|
||||
import com.zsc.edu.gateway.exception.ConstraintException;
|
||||
import com.zsc.edu.gateway.modules.system.dto.DeptDto;
|
||||
@ -17,6 +18,9 @@ import org.springframework.dao.DuplicateKeyException;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
@ -40,73 +44,51 @@ class DeptServiceTest {
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
dept1 = DeptBuilder.aDept().name("测试部门1").build();
|
||||
dept1 = DeptBuilder.aDept().name("A测试部门1").build();
|
||||
dept1.setId(121L);
|
||||
repo.insert(dept1);
|
||||
dept2 = DeptBuilder.aDept().name("测试部门2").pid(dept1.id).build();
|
||||
dept2 = DeptBuilder.aDept().name("A测试部门2").pid(dept1.id).build();
|
||||
dept2.setId(122L);
|
||||
repo.insert(dept2);
|
||||
dept3 = DeptBuilder.aDept().name("测试部门3").pid(dept1.id).build();
|
||||
dept3 = DeptBuilder.aDept().name("A测试部门3").pid(dept1.id).build();
|
||||
dept3.setId(123L);
|
||||
repo.insert(dept3);
|
||||
dept4 = DeptBuilder.aDept().name("测试部门4").pid(dept3.id).build();
|
||||
dept4 = DeptBuilder.aDept().name("A测试部门4").pid(dept3.id).build();
|
||||
dept4.setId(124L);
|
||||
repo.insert(dept4);
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
repo.delete(new QueryWrapper<>());
|
||||
repo.delete(new LambdaQueryWrapper<Dept>().in(Dept::getName, "A测试部门1", "A测试部门2", "A测试部门3", "A测试部门4", "A东菱经销商3", "A东菱经销商5"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void list() {
|
||||
LambdaQueryWrapper<Dept> queryWrapper = new LambdaQueryWrapper<>();
|
||||
assertEquals(1, service.list(queryWrapper.like(Dept::getName, "测试部门1")).size());
|
||||
// assertEquals(1, service.list(queryWrapper.eq(Dept::getName, dept1.getName())).size());
|
||||
assertEquals(4, service.list(queryWrapper.like(Dept::getName, "A测试部门")).size());
|
||||
assertEquals(1, service.list(queryWrapper.eq(Dept::getName, dept1.getName())).size());
|
||||
// assertEquals(4, service.list().size());
|
||||
}
|
||||
|
||||
// @Test
|
||||
// void listTree() {
|
||||
// Dept result = service.listTree(dept1.id);
|
||||
// int count = result.children.size();
|
||||
// assertEquals(2, count);
|
||||
// }
|
||||
|
||||
@Test
|
||||
void createAdmin() {
|
||||
Dept dept = new Dept();
|
||||
dept.setName("东菱经销商3");
|
||||
dept.setRemark("remark...");
|
||||
dept.setPid(dept1.id);
|
||||
service.save(dept);
|
||||
assertEquals(5, service.list().size());
|
||||
DeptDto dto = new DeptDto();
|
||||
dto.setName("A东菱经销商3");
|
||||
dto.setRemark("remark...");
|
||||
dto.setPid(dept1.id);
|
||||
service.create(dto);
|
||||
assertEquals(5, service.list(new LambdaQueryWrapper<Dept>().like(Dept::getName, "A")).size());
|
||||
// 不能创建其他已存在的同名同代码部门
|
||||
assertThrows(DuplicateKeyException.class, () -> service.save(dept1));
|
||||
}
|
||||
|
||||
@Test
|
||||
void create() {
|
||||
// Dept dept = new Dept();
|
||||
// dept.setName("东菱经销商5");
|
||||
// dept.setRemark("remark...");
|
||||
// dept.setPid(dept1.id);
|
||||
DeptDto dto = new DeptDto();
|
||||
dto.setName("东菱经销商5");
|
||||
dto.setRemark("remark...");
|
||||
dto.setPid(dept1.id);
|
||||
DeptDto dto2 = new DeptDto();
|
||||
dto2.setName(dept2.getName());
|
||||
dto2.setRemark("remark...");
|
||||
dto2.setPid(dept1.id);
|
||||
Dept dept = service.create(dto);
|
||||
assertNotNull(dept.getId());
|
||||
assertEquals(6, service.list().size());
|
||||
// 不能创建其他已存在的同名同代码部门
|
||||
assertThrows(ConstraintException.class, () -> service.create(dto2));
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateAdmin() {
|
||||
DeptDto dto = new DeptDto();
|
||||
dto.setName("东菱经销商5");
|
||||
dto.setName("A东菱经销商5");
|
||||
dto.setRemark("remark...");
|
||||
assertTrue(service.edit(dto, dept2.id));
|
||||
Dept tmp = service.getOne(new LambdaQueryWrapper<Dept>().eq(Dept::getName, dto.getName()));
|
||||
@ -118,21 +100,19 @@ class DeptServiceTest {
|
||||
}
|
||||
|
||||
|
||||
// @Test
|
||||
// void tree() {
|
||||
// Dept result = service.listTree(dept3.id);
|
||||
// HashSet<Long> deptPath = DeptTreeUtil.getDeptPath(result);
|
||||
// System.out.println(deptPath);
|
||||
// assertEquals(2, deptPath.size());
|
||||
// }
|
||||
|
||||
// @Test
|
||||
// void findTreeChild() {
|
||||
// Dept result = service.listTree(dept1.id);
|
||||
// Dept childNode = DeptTreeUtil.getChildNode(result.children, dept2.id);
|
||||
// System.out.println(childNode.id);
|
||||
// assertEquals(dept2.id, childNode.id);
|
||||
// }
|
||||
@Test
|
||||
void tree() {
|
||||
List<Dept> results = service.listTree(dept3.id);
|
||||
System.out.println(results);
|
||||
assertEquals(1, results.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void findTreeChild() {
|
||||
List<Dept> childNode = service.listTree(dept3.id);
|
||||
Dept dept = childNode.get(0);
|
||||
System.out.println(dept.id);
|
||||
assertEquals(dept3.id, dept.id);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,11 +1,17 @@
|
||||
package com.zsc.edu.gateway.service.system;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zsc.edu.gateway.domain.system.RoleBuilder;
|
||||
import com.zsc.edu.gateway.exception.ConstraintException;
|
||||
import com.zsc.edu.gateway.modules.system.dto.RoleDto;
|
||||
import com.zsc.edu.gateway.modules.system.entity.Dept;
|
||||
import com.zsc.edu.gateway.modules.system.entity.Role;
|
||||
import com.zsc.edu.gateway.modules.system.repo.AuthorityRepository;
|
||||
import com.zsc.edu.gateway.modules.system.repo.RoleRepository;
|
||||
import com.zsc.edu.gateway.modules.system.service.RoleService;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
@ -32,59 +38,45 @@ class RoleServiceTest {
|
||||
private Role role1;
|
||||
private Role role2;
|
||||
|
||||
private Role Role3;
|
||||
private Role Role4;
|
||||
// @Resource
|
||||
private AuthorityRepository authorityRepository;
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
role1 = RoleBuilder.aRole().name("A超级管理员").build();
|
||||
repo.insert(role1);
|
||||
role2 = RoleBuilder.aRole().name("A普通用户").build();
|
||||
repo.insert(role2);
|
||||
}
|
||||
|
||||
// @BeforeEach
|
||||
// void setUp() {
|
||||
// role1 = RoleBuilder.aRole().name("超级管理员").build();
|
||||
// repo.insert(role1);
|
||||
// role2 = RoleBuilder.aRole().name("普通用户").build();
|
||||
// repo.insert(role2);
|
||||
// }
|
||||
//
|
||||
// @AfterEach
|
||||
// void tearDown() {
|
||||
// repo.delete(new QueryWrapper<>());
|
||||
// }
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
repo.delete(new LambdaQueryWrapper<Role>().in(Role::getName, "A超级管理员", "A普通用户", "A公司CEO", "A项目经理", "A超级管理员2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void list() {
|
||||
assertEquals(1, service.list().size());
|
||||
assertEquals(0, service.list(new LambdaQueryWrapper<Role>().like(Role::getName, "普通用户")).size());
|
||||
// assertEquals(1, service.list(new LambdaQueryWrapper<Role>().eq(Role::getName, role1.getName())).size());
|
||||
assertEquals(2, service.list(new LambdaQueryWrapper<Role>().like(Role::getName, "A")).size());
|
||||
assertEquals(1, service.list(new LambdaQueryWrapper<Role>().eq(Role::getName, role1.getName())).size());
|
||||
// assertEquals(1, service.list().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void create() {
|
||||
// Role Role = new Role();
|
||||
// Role.setName("东菱经销商5");
|
||||
// Role.setRemark("remark...");
|
||||
// Role.setPid(Role1.id);
|
||||
RoleDto dto = new RoleDto();
|
||||
dto.setName("东菱经销商5");
|
||||
dto.setName("A公司CEO");
|
||||
dto.setRemark("remark...");
|
||||
dto.setAuthorities(new HashSet<>(Arrays.asList(authorityRepository.selectOne(null))));
|
||||
dto.setAuthorities(null);
|
||||
Role Role = service.create(dto);
|
||||
assertNotNull(Role.getId());
|
||||
assertEquals(3, service.list().size());
|
||||
assertEquals(3, service.list(new QueryWrapper<Role>().like("name", "A")).size());
|
||||
// 不能创建其他已存在的同名同代码部门
|
||||
// assertThrows(ConstraintException.class, () -> service.create(dto2));
|
||||
assertThrows(ConstraintException.class, () -> service.create(new RoleDto(role1.getName(), "remark...", null)));
|
||||
}
|
||||
|
||||
@Test
|
||||
void update() {
|
||||
RoleDto dto = new RoleDto();
|
||||
dto.setName("超级管理员2");
|
||||
dto.setName("A超级管理员2");
|
||||
dto.setRemark("remark...");
|
||||
dto.setAuthorities(authorityRepository.selectAuthoritiesByRoleId(1L));
|
||||
dto.setAuthorities(null);
|
||||
assertTrue(service.edit(dto, role2.id));
|
||||
}
|
||||
|
||||
@Test
|
||||
void roleVo(){
|
||||
repo.deleteById(role1.id);
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,32 @@
|
||||
package com.zsc.edu.gateway.service.system;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zsc.edu.gateway.domain.system.RoleBuilder;
|
||||
import com.zsc.edu.gateway.domain.system.UserBuilder;
|
||||
import com.zsc.edu.gateway.exception.ConstraintException;
|
||||
import com.zsc.edu.gateway.modules.system.dto.RoleDto;
|
||||
import com.zsc.edu.gateway.modules.system.dto.UserCreateDto;
|
||||
import com.zsc.edu.gateway.modules.system.dto.UserUpdateDto;
|
||||
import com.zsc.edu.gateway.modules.system.entity.Authority;
|
||||
import com.zsc.edu.gateway.modules.system.entity.Role;
|
||||
import com.zsc.edu.gateway.modules.system.entity.User;
|
||||
import com.zsc.edu.gateway.modules.system.repo.AuthorityRepository;
|
||||
import com.zsc.edu.gateway.modules.system.repo.RoleAuthoritiesRepository;
|
||||
import com.zsc.edu.gateway.modules.system.repo.UserRepository;
|
||||
import com.zsc.edu.gateway.modules.system.service.UserService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* @author ftz
|
||||
* 创建时间:29/12/2023 上午11:21
|
||||
@ -21,26 +36,92 @@ public class UserServiceTest {
|
||||
@Resource
|
||||
private RoleAuthoritiesRepository roleAuthoritiesRepository;
|
||||
@Resource
|
||||
private UserRepository userRepository;
|
||||
private UserService service;
|
||||
@Resource
|
||||
private UserRepository repo;
|
||||
@Resource
|
||||
private AuthorityRepository authorityRepository;
|
||||
|
||||
@Resource
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Test
|
||||
void test() {
|
||||
User user=userRepository.selectByUsername("admin");
|
||||
Set<Authority> authorities= authorityRepository.selectAuthoritiesByRoleId(user.getRoleId());
|
||||
user.role.authorities=authorities;
|
||||
System.out.println(user);
|
||||
|
||||
private User user1;
|
||||
private User user2;
|
||||
private User user3;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
user1 = UserBuilder.anUser().username("A张三").password("123456").enable(true).build();
|
||||
repo.insert(user1);
|
||||
user2 = UserBuilder.anUser().username("A李四").password("123456").enable(true).build();
|
||||
repo.insert(user2);
|
||||
user3 = UserBuilder.anUser().username("A王五").password("123456").enable(true).build();
|
||||
repo.insert(user3);
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
repo.delete(new LambdaQueryWrapper<User>().in(User::getUsername, "A张三", "A李四", "A王五", "A赵六", "A陈七", "A刘八"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test1() {
|
||||
void list() {
|
||||
assertEquals(3, service.list(new LambdaQueryWrapper<User>().like(User::getUsername, "A")).size());
|
||||
assertEquals(1, service.list(new LambdaQueryWrapper<User>().eq(User::getUsername, user1.getUsername())).size());
|
||||
// assertEquals(1, service.list().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void create() {
|
||||
UserCreateDto dto = new UserCreateDto();
|
||||
dto.setUsername("A赵六");
|
||||
dto.setRemark("remark...");
|
||||
dto.setPassword("654321");
|
||||
dto.setDeptId(1L);
|
||||
dto.setEnable(true);
|
||||
dto.setRoleId(1L);
|
||||
dto.setEmail("@123.com");
|
||||
dto.setPhone("14315367689");
|
||||
assertTrue(service.create(dto));
|
||||
assertEquals(4, service.list(new QueryWrapper<User>().like("username", "A")).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
void update() {
|
||||
UserUpdateDto dto = new UserUpdateDto();
|
||||
dto.setEnable(false);
|
||||
dto.setRemark("remark...");
|
||||
dto.setPhone("16786899221");
|
||||
dto.setEmail("@abc.com");
|
||||
assertTrue(service.update(dto, user2.id));
|
||||
UserUpdateDto dto2 = new UserUpdateDto("16786899221", "@141.com", true, 1L,
|
||||
"admin", "admin", "admin", 1L, "remark...");
|
||||
UserUpdateDto dto3 = new UserUpdateDto("16783399221", "@abc.com", true, 1L,
|
||||
"admin", "admin", "admin", 1L, "remark...");
|
||||
// 不能创建其他已存在的电话和邮箱
|
||||
assertThrows(ConstraintException.class, () -> service.update(dto2, user2.getId()));
|
||||
assertThrows(ConstraintException.class, () -> service.update(dto3, user2.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void updatePassword() {
|
||||
assertTrue(service.updatePassword("777777", user3.id));
|
||||
}
|
||||
|
||||
|
||||
// @Test
|
||||
// void test() {
|
||||
// User user=userRepository.selectByUsername("admin");
|
||||
// Set<Authority> authorities= authorityRepository.selectAuthoritiesByRoleId(user.getRoleId());
|
||||
// user.role.authorities=authorities;
|
||||
// System.out.println(user);
|
||||
|
||||
String admin = passwordEncoder.encode("admin");
|
||||
System.out.println(admin);
|
||||
}
|
||||
//
|
||||
// }
|
||||
// @Test
|
||||
// void test1() {
|
||||
//// User user=userRepository.selectByUsername("admin");
|
||||
//// System.out.println(user);
|
||||
// String admin = passwordEncoder.encode("admin");
|
||||
// System.out.println(admin);
|
||||
// }
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user