diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java index 712815b..29af395 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java @@ -40,7 +40,7 @@ public class EventQuery { public LambdaQueryWrapper wrapper() { LambdaQueryWrapper 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; diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/PropertyQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/PropertyQuery.java index 336c775..e8ca24b 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/PropertyQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/PropertyQuery.java @@ -37,8 +37,8 @@ public class PropertyQuery { public LambdaQueryWrapper wrapper() { LambdaQueryWrapper 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; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java index 002a616..b459df3 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java @@ -32,7 +32,7 @@ public class ServeQuery { public LambdaQueryWrapper wrapper() { LambdaQueryWrapper 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; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/controller/RoleController.java b/src/main/java/com/zsc/edu/gateway/modules/system/controller/RoleController.java index f26594e..223aedb 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/controller/RoleController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/controller/RoleController.java @@ -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); } /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/dto/RoleDto.java b/src/main/java/com/zsc/edu/gateway/modules/system/dto/RoleDto.java index 10646f3..e844a8c 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/dto/RoleDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/dto/RoleDto.java @@ -35,13 +35,7 @@ public class RoleDto { /** * 权限列表 */ - public Set authorities; + public Set authorities; - public LambdaUpdateWrapper updateWrapper(Long id) { - LambdaUpdateWrapper update = new LambdaUpdateWrapper<>(); - return update.eq(Role::getId, id) - .set(Role::getName, name) - .set(StringUtils.hasText(remark), Role::getRemark, remark); - } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/RoleService.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/RoleService.java index 585bd3e..42c6766 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/RoleService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/RoleService.java @@ -29,7 +29,5 @@ public interface RoleService extends IService { Boolean delete(Long id); - Boolean updateRole(RoleDto dto, Long id); - Boolean saveRoleAuths(Long roleId, Set authorities); } diff --git a/src/test/java/com/zsc/edu/gateway/MockMvcConfigBase.java b/src/test/java/com/zsc/edu/gateway/MockMvcConfigBase.java index 2f9cbcb..a7936af 100644 --- a/src/test/java/com/zsc/edu/gateway/MockMvcConfigBase.java +++ b/src/test/java/com/zsc/edu/gateway/MockMvcConfigBase.java @@ -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; diff --git a/src/test/java/com/zsc/edu/gateway/rest/system/DeptControllerTest.java b/src/test/java/com/zsc/edu/gateway/rest/system/DeptControllerTest.java index 9406180..68e18b4 100644 --- a/src/test/java/com/zsc/edu/gateway/rest/system/DeptControllerTest.java +++ b/src/test/java/com/zsc/edu/gateway/rest/system/DeptControllerTest.java @@ -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 depts = Lists.newArrayList(dept1, dept2); - when(service.list()).thenReturn(depts); - mockMvc.perform(get("/api/rest/dept").with(user(userDetails))) - .andExpect(status().isOk()) + Page 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()); -// } - } diff --git a/src/test/java/com/zsc/edu/gateway/rest/system/RoleControllerTest.java b/src/test/java/com/zsc/edu/gateway/rest/system/RoleControllerTest.java index 95a42fd..e15d9fe 100644 --- a/src/test/java/com/zsc/edu/gateway/rest/system/RoleControllerTest.java +++ b/src/test/java/com/zsc/edu/gateway/rest/system/RoleControllerTest.java @@ -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,116 +23,70 @@ 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()) .with(user(userDetails)) .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(dto)) - ).andExpect(status().isOk()).andDo(print()); + ).andExpect(status().isOk()).andDo(print()); verify(service).create(any()); } @Test void list() throws Exception { - List Roles = Lists.newArrayList(role1, role2); - when(service.list()).thenReturn(Roles); - mockMvc.perform(get("/api/rest/role").with(user(userDetails))) - .andExpect(status().isOk()) + List roles = Lists.newArrayList(role1, role2); + Page 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) - .with(csrf().asHeader()) - .with(user(userDetails)) - .contentType(MediaType.APPLICATION_JSON) - .content(objectMapper.writeValueAsString(dto)) - ) - .andExpect(status().isOk()).andDo(print()); - verify(service).update(any(), any()); + 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).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()); -// } - } diff --git a/src/test/java/com/zsc/edu/gateway/service/system/DeptServiceTest.java b/src/test/java/com/zsc/edu/gateway/service/system/DeptServiceTest.java index c2a8640..658a851 100644 --- a/src/test/java/com/zsc/edu/gateway/service/system/DeptServiceTest.java +++ b/src/test/java/com/zsc/edu/gateway/service/system/DeptServiceTest.java @@ -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().in(Dept::getName, "A测试部门1", "A测试部门2", "A测试部门3", "A测试部门4", "A东菱经销商3", "A东菱经销商5")); } @Test void list() { LambdaQueryWrapper 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().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().eq(Dept::getName, dto.getName())); @@ -118,21 +100,19 @@ class DeptServiceTest { } -// @Test -// void tree() { -// Dept result = service.listTree(dept3.id); -// HashSet 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 results = service.listTree(dept3.id); + System.out.println(results); + assertEquals(1, results.size()); + } + @Test + void findTreeChild() { + List childNode = service.listTree(dept3.id); + Dept dept = childNode.get(0); + System.out.println(dept.id); + assertEquals(dept3.id, dept.id); + } } diff --git a/src/test/java/com/zsc/edu/gateway/service/system/RoleServiceTest.java b/src/test/java/com/zsc/edu/gateway/service/system/RoleServiceTest.java index 14a6ae3..896be5e 100644 --- a/src/test/java/com/zsc/edu/gateway/service/system/RoleServiceTest.java +++ b/src/test/java/com/zsc/edu/gateway/service/system/RoleServiceTest.java @@ -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().in(Role::getName, "A超级管理员", "A普通用户", "A公司CEO", "A项目经理", "A超级管理员2")); + } @Test void list() { - assertEquals(1, service.list().size()); - assertEquals(0, service.list(new LambdaQueryWrapper().like(Role::getName, "普通用户")).size()); -// assertEquals(1, service.list(new LambdaQueryWrapper().eq(Role::getName, role1.getName())).size()); + assertEquals(2, service.list(new LambdaQueryWrapper().like(Role::getName, "A")).size()); + assertEquals(1, service.list(new LambdaQueryWrapper().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().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); - } } diff --git a/src/test/java/com/zsc/edu/gateway/service/system/UserServiceTest.java b/src/test/java/com/zsc/edu/gateway/service/system/UserServiceTest.java index f18ea3e..0f400cc 100644 --- a/src/test/java/com/zsc/edu/gateway/service/system/UserServiceTest.java +++ b/src/test/java/com/zsc/edu/gateway/service/system/UserServiceTest.java @@ -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 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().in(User::getUsername, "A张三", "A李四", "A王五", "A赵六", "A陈七", "A刘八")); + } + @Test - void test1() { + void list() { + assertEquals(3, service.list(new LambdaQueryWrapper().like(User::getUsername, "A")).size()); + assertEquals(1, service.list(new LambdaQueryWrapper().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().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 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); +// } }