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() {
|
public LambdaQueryWrapper<Event> wrapper() {
|
||||||
LambdaQueryWrapper<Event> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Event> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.like(StringUtils.hasText(this.name), Event::getName, this.name);
|
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(StringUtils.hasText(this.level), Event::getType, this.level);
|
||||||
queryWrapper.eq(Objects.nonNull(this.productId), Event::getProductId, this.productId);
|
queryWrapper.eq(Objects.nonNull(this.productId), Event::getProductId, this.productId);
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
|
@ -37,8 +37,8 @@ public class PropertyQuery {
|
|||||||
public LambdaQueryWrapper<Property> wrapper() {
|
public LambdaQueryWrapper<Property> wrapper() {
|
||||||
LambdaQueryWrapper<Property> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Property> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(this.type != null, Property::getIoType, this.type);
|
queryWrapper.eq(this.type != null, Property::getIoType, this.type);
|
||||||
queryWrapper.eq(StringUtils.hasText(this.identifier), Property::getIdentifier, this.identifier);
|
queryWrapper.like(StringUtils.hasText(this.identifier), Property::getIdentifier, this.identifier);
|
||||||
queryWrapper.like(Objects.nonNull(this.productId), Property::getProductId, this.productId);
|
queryWrapper.eq(Objects.nonNull(this.productId), Property::getProductId, this.productId);
|
||||||
queryWrapper.like(StringUtils.hasText(this.name), Property::getName, this.name);
|
queryWrapper.like(StringUtils.hasText(this.name), Property::getName, this.name);
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ public class ServeQuery {
|
|||||||
public LambdaQueryWrapper<Serve> wrapper() {
|
public LambdaQueryWrapper<Serve> wrapper() {
|
||||||
LambdaQueryWrapper<Serve> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Serve> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.like(StringUtils.hasText(this.name), Serve::getName, this.name);
|
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);
|
queryWrapper.eq(Objects.nonNull(this.productId), Serve::getProductId, this.productId);
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ public class RoleController {
|
|||||||
public Boolean update(@RequestBody RoleDto dto, @PathVariable("id") Long id) {
|
public Boolean update(@RequestBody RoleDto dto, @PathVariable("id") Long id) {
|
||||||
// Role role = roleMapper.toEntity(dto);
|
// Role role = roleMapper.toEntity(dto);
|
||||||
// role.setId(id);
|
// 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 delete(Long id);
|
||||||
|
|
||||||
Boolean updateRole(RoleDto dto, Long id);
|
|
||||||
|
|
||||||
Boolean saveRoleAuths(Long roleId, Set<AuthorityCreateDto> authorities);
|
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.entity.User;
|
||||||
import com.zsc.edu.gateway.modules.system.mapper.RoleMapper;
|
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.mapper.UserMapper;
|
||||||
|
import com.zsc.edu.gateway.modules.system.service.RoleService;
|
||||||
import com.zsc.edu.gateway.modules.system.service.UserService;
|
import com.zsc.edu.gateway.modules.system.service.UserService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package com.zsc.edu.gateway.rest.system;
|
package com.zsc.edu.gateway.rest.system;
|
||||||
|
|
||||||
//import com.zsc.edu.gateway.MockMvcConfigBase;
|
//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.MockMvcConfigBase;
|
||||||
import com.zsc.edu.gateway.domain.system.DeptBuilder;
|
import com.zsc.edu.gateway.domain.system.DeptBuilder;
|
||||||
import com.zsc.edu.gateway.modules.system.controller.DeptController;
|
import com.zsc.edu.gateway.modules.system.controller.DeptController;
|
||||||
@ -63,11 +65,16 @@ public class DeptControllerTest extends MockMvcConfigBase {
|
|||||||
@Test
|
@Test
|
||||||
void list() throws Exception {
|
void list() throws Exception {
|
||||||
List<Dept> depts = Lists.newArrayList(dept1, dept2);
|
List<Dept> depts = Lists.newArrayList(dept1, dept2);
|
||||||
when(service.list()).thenReturn(depts);
|
Page<Dept> pageResult = new Page<>();
|
||||||
mockMvc.perform(get("/api/rest/dept").with(user(userDetails)))
|
pageResult.setRecords(depts);
|
||||||
.andExpect(status().isOk())
|
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());
|
.andDo(print());
|
||||||
verify(service).list();
|
verify(service).page(any(Page.class), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -84,43 +91,4 @@ public class DeptControllerTest extends MockMvcConfigBase {
|
|||||||
.andExpect(status().isOk()).andDo(print());
|
.andExpect(status().isOk()).andDo(print());
|
||||||
verify(service).edit(any(), any());
|
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;
|
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.MockMvcConfigBase;
|
||||||
import com.zsc.edu.gateway.domain.system.RoleBuilder;
|
import com.zsc.edu.gateway.domain.system.RoleBuilder;
|
||||||
import com.zsc.edu.gateway.modules.system.controller.RoleController;
|
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.dto.RoleDto;
|
||||||
import com.zsc.edu.gateway.modules.system.entity.Role;
|
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 com.zsc.edu.gateway.modules.system.service.RoleService;
|
||||||
import org.assertj.core.util.Lists;
|
import org.assertj.core.util.Lists;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockito.Spy;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
@ -20,31 +23,34 @@ import static org.mockito.Mockito.verify;
|
|||||||
import static org.mockito.Mockito.when;
|
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.csrf;
|
||||||
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user;
|
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.*;
|
||||||
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.result.MockMvcResultHandlers.print;
|
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
|
||||||
@WebMvcTest(RoleController.class)
|
@WebMvcTest(RoleController.class)
|
||||||
public class RoleControllerTest extends MockMvcConfigBase {
|
public class RoleControllerTest extends MockMvcConfigBase {
|
||||||
|
@Spy
|
||||||
private static Role role1;
|
private static Role role1;
|
||||||
|
|
||||||
private static Role role2;
|
private static Role role2;
|
||||||
|
|
||||||
@MockBean
|
@MockBean
|
||||||
private RoleService service;
|
private RoleService service;
|
||||||
|
@MockBean
|
||||||
|
private RoleAuthService authService;
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void beforeAll() {
|
static void beforeAll() {
|
||||||
role1 = RoleBuilder.aRole().name("管理员").build();
|
role1 = RoleBuilder.aRole().name("管理员").build();
|
||||||
|
role1.setId(1L);
|
||||||
role2 = RoleBuilder.aRole().name("普通用户").build();
|
role2 = RoleBuilder.aRole().name("普通用户").build();
|
||||||
|
role2.setId(2L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void create() throws Exception {
|
void create() throws Exception {
|
||||||
RoleDto dto = new RoleDto();
|
RoleDto dto = new RoleDto();
|
||||||
dto.name = role1.getName();
|
dto.setName(role1.getName());
|
||||||
when(service.create(any())).thenReturn(role1);
|
when(service.create(any())).thenReturn(role1);
|
||||||
mockMvc.perform(post("/api/rest/role")
|
mockMvc.perform(post("/api/rest/role")
|
||||||
.with(csrf().asHeader())
|
.with(csrf().asHeader())
|
||||||
@ -57,79 +63,30 @@ public class RoleControllerTest extends MockMvcConfigBase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void list() throws Exception {
|
void list() throws Exception {
|
||||||
List<Role> Roles = Lists.newArrayList(role1, role2);
|
List<Role> roles = Lists.newArrayList(role1, role2);
|
||||||
when(service.list()).thenReturn(Roles);
|
Page<Role> pageResult = new Page<>();
|
||||||
mockMvc.perform(get("/api/rest/role").with(user(userDetails)))
|
pageResult.setRecords(roles);
|
||||||
.andExpect(status().isOk())
|
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());
|
.andDo(print());
|
||||||
verify(service).list();
|
verify(service).page(any(Page.class), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void update() throws Exception {
|
void update() throws Exception {
|
||||||
RoleDto dto = new RoleDto();
|
RoleDto dto = new RoleDto();
|
||||||
dto.name = role1.getName();
|
dto.setName(role1.getName());
|
||||||
when(service.update(any(), any())).thenReturn(true);
|
when(service.edit(any(), any())).thenReturn(true);
|
||||||
mockMvc.perform(patch("/api/rest/role/{id}", role1.id)
|
mockMvc.perform(patch("/api/rest/role/{id}", role1.getId())
|
||||||
.with(csrf().asHeader())
|
.with(csrf().asHeader())
|
||||||
.with(user(userDetails))
|
.with(user(userDetails))
|
||||||
.contentType(MediaType.APPLICATION_JSON)
|
.contentType(MediaType.APPLICATION_JSON)
|
||||||
.content(objectMapper.writeValueAsString(dto))
|
.content(objectMapper.writeValueAsString(dto))
|
||||||
)
|
).andExpect(status().isOk()).andDo(print());
|
||||||
.andExpect(status().isOk()).andDo(print());
|
verify(service).edit(any(), any());
|
||||||
verify(service).update(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.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.domain.system.DeptBuilder;
|
||||||
import com.zsc.edu.gateway.exception.ConstraintException;
|
import com.zsc.edu.gateway.exception.ConstraintException;
|
||||||
import com.zsc.edu.gateway.modules.system.dto.DeptDto;
|
import com.zsc.edu.gateway.modules.system.dto.DeptDto;
|
||||||
@ -17,6 +18,9 @@ import org.springframework.dao.DuplicateKeyException;
|
|||||||
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -40,73 +44,51 @@ class DeptServiceTest {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
void setUp() {
|
||||||
dept1 = DeptBuilder.aDept().name("测试部门1").build();
|
dept1 = DeptBuilder.aDept().name("A测试部门1").build();
|
||||||
|
dept1.setId(121L);
|
||||||
repo.insert(dept1);
|
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);
|
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);
|
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);
|
repo.insert(dept4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
void tearDown() {
|
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
|
@Test
|
||||||
void list() {
|
void list() {
|
||||||
LambdaQueryWrapper<Dept> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Dept> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
assertEquals(1, service.list(queryWrapper.like(Dept::getName, "测试部门1")).size());
|
assertEquals(4, service.list(queryWrapper.like(Dept::getName, "A测试部门")).size());
|
||||||
// assertEquals(1, service.list(queryWrapper.eq(Dept::getName, dept1.getName())).size());
|
assertEquals(1, service.list(queryWrapper.eq(Dept::getName, dept1.getName())).size());
|
||||||
// assertEquals(4, service.list().size());
|
// assertEquals(4, service.list().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Test
|
|
||||||
// void listTree() {
|
|
||||||
// Dept result = service.listTree(dept1.id);
|
|
||||||
// int count = result.children.size();
|
|
||||||
// assertEquals(2, count);
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void createAdmin() {
|
void createAdmin() {
|
||||||
Dept dept = new Dept();
|
DeptDto dto = new DeptDto();
|
||||||
dept.setName("东菱经销商3");
|
dto.setName("A东菱经销商3");
|
||||||
dept.setRemark("remark...");
|
dto.setRemark("remark...");
|
||||||
dept.setPid(dept1.id);
|
dto.setPid(dept1.id);
|
||||||
service.save(dept);
|
service.create(dto);
|
||||||
assertEquals(5, service.list().size());
|
assertEquals(5, service.list(new LambdaQueryWrapper<Dept>().like(Dept::getName, "A")).size());
|
||||||
// 不能创建其他已存在的同名同代码部门
|
// 不能创建其他已存在的同名同代码部门
|
||||||
assertThrows(DuplicateKeyException.class, () -> service.save(dept1));
|
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
|
@Test
|
||||||
void updateAdmin() {
|
void updateAdmin() {
|
||||||
DeptDto dto = new DeptDto();
|
DeptDto dto = new DeptDto();
|
||||||
dto.setName("东菱经销商5");
|
dto.setName("A东菱经销商5");
|
||||||
dto.setRemark("remark...");
|
dto.setRemark("remark...");
|
||||||
assertTrue(service.edit(dto, dept2.id));
|
assertTrue(service.edit(dto, dept2.id));
|
||||||
Dept tmp = service.getOne(new LambdaQueryWrapper<Dept>().eq(Dept::getName, dto.getName()));
|
Dept tmp = service.getOne(new LambdaQueryWrapper<Dept>().eq(Dept::getName, dto.getName()));
|
||||||
@ -118,21 +100,19 @@ class DeptServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// @Test
|
@Test
|
||||||
// void tree() {
|
void tree() {
|
||||||
// Dept result = service.listTree(dept3.id);
|
List<Dept> results = service.listTree(dept3.id);
|
||||||
// HashSet<Long> deptPath = DeptTreeUtil.getDeptPath(result);
|
System.out.println(results);
|
||||||
// System.out.println(deptPath);
|
assertEquals(1, results.size());
|
||||||
// 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 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;
|
package com.zsc.edu.gateway.service.system;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.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.entity.Role;
|
||||||
import com.zsc.edu.gateway.modules.system.repo.AuthorityRepository;
|
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.repo.RoleRepository;
|
||||||
import com.zsc.edu.gateway.modules.system.service.RoleService;
|
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.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
@ -32,59 +38,45 @@ class RoleServiceTest {
|
|||||||
private Role role1;
|
private Role role1;
|
||||||
private Role role2;
|
private Role role2;
|
||||||
|
|
||||||
private Role Role3;
|
@BeforeEach
|
||||||
private Role Role4;
|
void setUp() {
|
||||||
// @Resource
|
role1 = RoleBuilder.aRole().name("A超级管理员").build();
|
||||||
private AuthorityRepository authorityRepository;
|
repo.insert(role1);
|
||||||
|
role2 = RoleBuilder.aRole().name("A普通用户").build();
|
||||||
|
repo.insert(role2);
|
||||||
|
}
|
||||||
|
|
||||||
// @BeforeEach
|
@AfterEach
|
||||||
// void setUp() {
|
void tearDown() {
|
||||||
// role1 = RoleBuilder.aRole().name("超级管理员").build();
|
repo.delete(new LambdaQueryWrapper<Role>().in(Role::getName, "A超级管理员", "A普通用户", "A公司CEO", "A项目经理", "A超级管理员2"));
|
||||||
// repo.insert(role1);
|
}
|
||||||
// role2 = RoleBuilder.aRole().name("普通用户").build();
|
|
||||||
// repo.insert(role2);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @AfterEach
|
|
||||||
// void tearDown() {
|
|
||||||
// repo.delete(new QueryWrapper<>());
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void list() {
|
void list() {
|
||||||
assertEquals(1, service.list().size());
|
assertEquals(2, service.list(new LambdaQueryWrapper<Role>().like(Role::getName, "A")).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(1, service.list(new LambdaQueryWrapper<Role>().eq(Role::getName, role1.getName())).size());
|
// assertEquals(1, service.list().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void create() {
|
void create() {
|
||||||
// Role Role = new Role();
|
|
||||||
// Role.setName("东菱经销商5");
|
|
||||||
// Role.setRemark("remark...");
|
|
||||||
// Role.setPid(Role1.id);
|
|
||||||
RoleDto dto = new RoleDto();
|
RoleDto dto = new RoleDto();
|
||||||
dto.setName("东菱经销商5");
|
dto.setName("A公司CEO");
|
||||||
dto.setRemark("remark...");
|
dto.setRemark("remark...");
|
||||||
dto.setAuthorities(new HashSet<>(Arrays.asList(authorityRepository.selectOne(null))));
|
dto.setAuthorities(null);
|
||||||
Role Role = service.create(dto);
|
Role Role = service.create(dto);
|
||||||
assertNotNull(Role.getId());
|
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
|
@Test
|
||||||
void update() {
|
void update() {
|
||||||
RoleDto dto = new RoleDto();
|
RoleDto dto = new RoleDto();
|
||||||
dto.setName("超级管理员2");
|
dto.setName("A超级管理员2");
|
||||||
dto.setRemark("remark...");
|
dto.setRemark("remark...");
|
||||||
dto.setAuthorities(authorityRepository.selectAuthoritiesByRoleId(1L));
|
dto.setAuthorities(null);
|
||||||
assertTrue(service.edit(dto, role2.id));
|
assertTrue(service.edit(dto, role2.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
void roleVo(){
|
|
||||||
repo.deleteById(role1.id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,32 @@
|
|||||||
package com.zsc.edu.gateway.service.system;
|
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.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.entity.User;
|
||||||
import com.zsc.edu.gateway.modules.system.repo.AuthorityRepository;
|
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.RoleAuthoritiesRepository;
|
||||||
import com.zsc.edu.gateway.modules.system.repo.UserRepository;
|
import com.zsc.edu.gateway.modules.system.repo.UserRepository;
|
||||||
|
import com.zsc.edu.gateway.modules.system.service.UserService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ftz
|
* @author ftz
|
||||||
* 创建时间:29/12/2023 上午11:21
|
* 创建时间:29/12/2023 上午11:21
|
||||||
@ -21,26 +36,92 @@ public class UserServiceTest {
|
|||||||
@Resource
|
@Resource
|
||||||
private RoleAuthoritiesRepository roleAuthoritiesRepository;
|
private RoleAuthoritiesRepository roleAuthoritiesRepository;
|
||||||
@Resource
|
@Resource
|
||||||
private UserRepository userRepository;
|
private UserService service;
|
||||||
|
@Resource
|
||||||
|
private UserRepository repo;
|
||||||
@Resource
|
@Resource
|
||||||
private AuthorityRepository authorityRepository;
|
private AuthorityRepository authorityRepository;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PasswordEncoder passwordEncoder;
|
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
|
@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");
|
// User user=userRepository.selectByUsername("admin");
|
||||||
|
// Set<Authority> authorities= authorityRepository.selectAuthoritiesByRoleId(user.getRoleId());
|
||||||
|
// user.role.authorities=authorities;
|
||||||
// System.out.println(user);
|
// 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