admin: web service 테스트 코드 추가
This commit is contained in:
parent
75da53e469
commit
b275e12d8c
|
|
@ -1,20 +0,0 @@
|
|||
package com.bpgroup.poc.admin.domain.base.role.service;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@ToString
|
||||
public class RoleCreateResult {
|
||||
|
||||
private Long id;
|
||||
|
||||
@Builder
|
||||
public static RoleCreateResult of(Long id) {
|
||||
RoleCreateResult result = new RoleCreateResult();
|
||||
result.id = id;
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -25,14 +25,10 @@ public class RoleService {
|
|||
/**
|
||||
* ROLE 생성
|
||||
*/
|
||||
public RoleCreateResult create(
|
||||
public Role create(
|
||||
@NotNull @Valid RoleCreateCommand command
|
||||
) {
|
||||
Role role = roleRepository.save(command.toEntity());
|
||||
|
||||
return RoleCreateResult.builder()
|
||||
.id(role.getId())
|
||||
.build();
|
||||
return roleRepository.save(command.toEntity());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ public class AdminManagementWebService {
|
|||
adminService.update(
|
||||
AdminUpdateCommand.builder()
|
||||
.id(request.getId())
|
||||
.password(passwordEncoder.encode(request.getPassword()))
|
||||
.email(request.getEmail())
|
||||
.name(request.getName())
|
||||
.adminRole(AdminRole.of(role))
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ public class RoleRestController {
|
|||
@RequestBody @Valid RoleUpdate.Request request,
|
||||
BindingResult bindingResult
|
||||
) {
|
||||
roleWebService.update(request);
|
||||
return ResponseEntity.ok(RoleUpdate.Response.success());
|
||||
RoleUpdate.Response response = roleWebService.update(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -52,8 +52,8 @@ public class RoleRestController {
|
|||
@RequestBody @Valid RoleDelete.Request request,
|
||||
BindingResult bindingResult
|
||||
) {
|
||||
roleWebService.delete(request);
|
||||
return ResponseEntity.ok(RoleDelete.Response.success());
|
||||
RoleDelete.Response response = roleWebService.delete(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -64,8 +64,8 @@ public class RoleRestController {
|
|||
@RequestBody @Valid RoleAddMenu.Request request,
|
||||
BindingResult bindingResult
|
||||
) {
|
||||
roleWebService.putMenu(request);
|
||||
return ResponseEntity.ok(RoleAddMenu.Response.success());
|
||||
RoleAddMenu.Response response = roleWebService.putMenu(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@ import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleAddMenu;
|
|||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleDelete;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleUpdate;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -27,7 +25,7 @@ public class RoleWebService {
|
|||
private final MenuService menuService;
|
||||
|
||||
public RoleCreate.Response create(RoleCreate.Request request) {
|
||||
RoleCreateResult createResult = roleService.create(
|
||||
Role createResult = roleService.create(
|
||||
RoleCreateCommand.builder()
|
||||
.name(request.getName())
|
||||
.description(request.getDescription())
|
||||
|
|
@ -37,7 +35,7 @@ public class RoleWebService {
|
|||
return RoleCreate.Response.success(createResult.getId());
|
||||
}
|
||||
|
||||
public void update(RoleUpdate.Request request) {
|
||||
public RoleUpdate.Response update(RoleUpdate.Request request) {
|
||||
roleService.update(
|
||||
RoleUpdateCommand.builder()
|
||||
.id(request.getId())
|
||||
|
|
@ -45,13 +43,16 @@ public class RoleWebService {
|
|||
.description(request.getDescription())
|
||||
.build()
|
||||
);
|
||||
|
||||
return RoleUpdate.Response.success();
|
||||
}
|
||||
|
||||
public void delete(RoleDelete.Request request) {
|
||||
public RoleDelete.Response delete(RoleDelete.Request request) {
|
||||
roleService.delete(request.getId());
|
||||
return RoleDelete.Response.success();
|
||||
}
|
||||
|
||||
public void putMenu(@NotNull @Valid RoleAddMenu.Request request) {
|
||||
public RoleAddMenu.Response putMenu(RoleAddMenu.Request request) {
|
||||
roleService.deleteRoleMenu(request.getRoleId());
|
||||
|
||||
Optional<Role> findRole = roleService.find(request.getRoleId());
|
||||
|
|
@ -77,5 +78,7 @@ public class RoleWebService {
|
|||
.collect(Collectors.toSet());
|
||||
|
||||
roleService.addRoleMenu(commands);
|
||||
|
||||
return RoleAddMenu.Response.success();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class RoleServiceTest extends MariaDBTestEnv {
|
|||
@DisplayName("Role 생성 테스트")
|
||||
void createRoleTest() {
|
||||
// when
|
||||
RoleCreateResult createResult = roleService.create(
|
||||
Role createResult = roleService.create(
|
||||
RoleCreateCommand.builder()
|
||||
.name("TEST")
|
||||
.description("TEST")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,118 @@
|
|||
package com.bpgroup.poc.admin.web.main.admin;
|
||||
|
||||
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
||||
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRepository;
|
||||
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRole;
|
||||
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
||||
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||
import com.bpgroup.poc.admin.web.main.admin.management.AdminManagementWebService;
|
||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminCreate;
|
||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminDelete;
|
||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminUpdate;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@DisplayName("Admin Web Service 테스트")
|
||||
@Transactional
|
||||
class AdminManagementWebServiceTest extends MariaDBTestEnv {
|
||||
|
||||
@Autowired
|
||||
private AdminManagementWebService adminWebService;
|
||||
|
||||
@Autowired
|
||||
private AdminRepository adminRepository;
|
||||
|
||||
@Autowired
|
||||
private RoleRepository roleRepository;
|
||||
|
||||
@Test
|
||||
@DisplayName("Admin 생성 테스트")
|
||||
void createTest() {
|
||||
// given
|
||||
Role savedRole = getSavedRole();
|
||||
flushAndClear();
|
||||
|
||||
AdminCreate.Request request = new AdminCreate.Request();
|
||||
request.setLoginId("test");
|
||||
request.setPassword("test");
|
||||
request.setName("test");
|
||||
request.setEmail("test");
|
||||
request.setRoleId(savedRole.getId());
|
||||
|
||||
// when
|
||||
AdminCreate.Response response = adminWebService.create(request);
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Admin 수정 테스트")
|
||||
void updateTest() {
|
||||
// given
|
||||
Role savedRole = getSavedRole();
|
||||
Admin savedAdmin = adminRepository.save(
|
||||
Admin.builder()
|
||||
.loginId("test")
|
||||
.password("test")
|
||||
.name("test")
|
||||
.email("test")
|
||||
.adminRole(AdminRole.of(savedRole))
|
||||
.build()
|
||||
);
|
||||
flushAndClear();
|
||||
|
||||
AdminUpdate.Request request = new AdminUpdate.Request();
|
||||
request.setId(savedAdmin.getId());
|
||||
request.setPassword("test2");
|
||||
request.setName("test2");
|
||||
request.setEmail("test2");
|
||||
request.setRoleId(savedRole.getId());
|
||||
|
||||
// when
|
||||
AdminUpdate.Response updateResponse = adminWebService.update(request);
|
||||
|
||||
// then
|
||||
assertThat(updateResponse.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Admin 삭제 테스트")
|
||||
void deleteTest() {
|
||||
// given
|
||||
Role savedRole = getSavedRole();
|
||||
Admin savedAdmin = adminRepository.save(
|
||||
Admin.builder()
|
||||
.loginId("test")
|
||||
.password("test")
|
||||
.name("test")
|
||||
.email("test")
|
||||
.adminRole(AdminRole.of(savedRole))
|
||||
.build()
|
||||
);
|
||||
flushAndClear();
|
||||
|
||||
AdminDelete.Request request = new AdminDelete.Request();
|
||||
request.setId(savedAdmin.getId());
|
||||
|
||||
// when
|
||||
AdminDelete.Response response = adminWebService.delete(request);
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
|
||||
private Role getSavedRole() {
|
||||
Role role = Role.builder()
|
||||
.name("test")
|
||||
.description("test")
|
||||
.build();
|
||||
return roleRepository.save(role);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
package com.bpgroup.poc.admin.web.main.menu;
|
||||
|
||||
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
|
||||
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroupRepository;
|
||||
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuRepository;
|
||||
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||
import com.bpgroup.poc.admin.web.main.admin.menu.MenuWebService;
|
||||
import com.bpgroup.poc.admin.web.main.admin.menu.reqres.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@DisplayName("Menu Web Service 테스트")
|
||||
@Transactional
|
||||
public class MenuWebServiceTest extends MariaDBTestEnv {
|
||||
|
||||
@Autowired
|
||||
private MenuWebService menuWebService;
|
||||
|
||||
@Autowired
|
||||
private MenuGroupRepository menuGroupRepository;
|
||||
|
||||
@Autowired
|
||||
private MenuRepository menuRepository;
|
||||
|
||||
@Test
|
||||
@DisplayName("Menu 그룹 생성 테스트")
|
||||
void createMenuGroupTest() {
|
||||
// given
|
||||
MenuGroupCreate.Request request = new MenuGroupCreate.Request();
|
||||
request.setName("test");
|
||||
request.setUri("test");
|
||||
request.setSortOrder(1);
|
||||
|
||||
// when
|
||||
MenuGroupCreate.Response response = menuWebService.createMenuGroup(request);
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Menu 그룹 수정 테스트")
|
||||
void updateMenuGroupTest() {
|
||||
// given
|
||||
MenuGroup savedMenuGroup = getSavedMenuGroup();
|
||||
flushAndClear();
|
||||
|
||||
MenuGroupUpdate.Request updateRequest = new MenuGroupUpdate.Request();
|
||||
updateRequest.setId(savedMenuGroup.getId());
|
||||
updateRequest.setName("test2");
|
||||
updateRequest.setUri("test2");
|
||||
updateRequest.setSortOrder(1);
|
||||
|
||||
// when
|
||||
MenuGroupUpdate.Response updateResponse = menuWebService.updateMenuGroup(updateRequest);
|
||||
|
||||
// then
|
||||
assertThat(updateResponse.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Menu 그룹 삭제 테스트")
|
||||
void deleteMenuGroupTest() {
|
||||
// given
|
||||
MenuGroup savedMenuGroup = getSavedMenuGroup();
|
||||
flushAndClear();
|
||||
|
||||
MenuGroupDelete.Request deleteRequest = new MenuGroupDelete.Request();
|
||||
deleteRequest.setId(savedMenuGroup.getId());
|
||||
|
||||
// when
|
||||
MenuGroupDelete.Response deleteResponse = menuWebService.deleteMenuGroup(deleteRequest);
|
||||
|
||||
// then
|
||||
assertThat(deleteResponse.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Menu 생성 테스트")
|
||||
void createMenuTest() {
|
||||
// given
|
||||
MenuGroup savedMenuGroup = getSavedMenuGroup();
|
||||
flushAndClear();
|
||||
|
||||
MenuCreate.Request createRequest = new MenuCreate.Request();
|
||||
createRequest.setMenuGroupId(savedMenuGroup.getId());
|
||||
createRequest.setUri("test");
|
||||
createRequest.setName("test");
|
||||
createRequest.setSortOrder(1);
|
||||
|
||||
// when
|
||||
MenuCreate.Response createResponse = menuWebService.createMenu(createRequest);
|
||||
|
||||
// then
|
||||
assertThat(createResponse.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Menu 수정 테스트")
|
||||
void updateMenuTest() {
|
||||
// given
|
||||
MenuGroup savedMenuGroup = getSavedMenuGroup();
|
||||
Menu savedMenu = getSavedMenu();
|
||||
savedMenu.addMenuGroup(savedMenuGroup);
|
||||
flushAndClear();
|
||||
|
||||
MenuUpdate.Request updateRequest = new MenuUpdate.Request();
|
||||
updateRequest.setId(savedMenu.getId());
|
||||
updateRequest.setUri("test2");
|
||||
updateRequest.setName("test2");
|
||||
updateRequest.setSortOrder(1);
|
||||
|
||||
// when
|
||||
MenuUpdate.Response updateResponse = menuWebService.updateMenu(updateRequest);
|
||||
|
||||
// then
|
||||
assertThat(updateResponse.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Menu 삭제 테스트")
|
||||
void deleteMenuTest() {
|
||||
// given
|
||||
MenuGroup savedMenuGroup = getSavedMenuGroup();
|
||||
Menu savedMenu = getSavedMenu();
|
||||
savedMenu.addMenuGroup(savedMenuGroup);
|
||||
flushAndClear();
|
||||
|
||||
MenuDelete.Request deleteRequest = new MenuDelete.Request();
|
||||
deleteRequest.setId(savedMenu.getId());
|
||||
|
||||
// when
|
||||
MenuDelete.Response deleteResponse = menuWebService.deleteMenu(deleteRequest);
|
||||
|
||||
// then
|
||||
assertThat(deleteResponse.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Menu getSavedMenu() {
|
||||
return menuRepository.save(
|
||||
Menu.builder()
|
||||
.uri("test")
|
||||
.name("test")
|
||||
.sortOrder(1)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private MenuGroup getSavedMenuGroup() {
|
||||
return menuGroupRepository.save(
|
||||
MenuGroup.builder()
|
||||
.name("test")
|
||||
.uri("test")
|
||||
.sortOrder(1)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
package com.bpgroup.poc.admin.web.main.role;
|
||||
|
||||
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuRepository;
|
||||
import com.bpgroup.poc.admin.domain.base.role.RoleMenuType;
|
||||
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
||||
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.RoleWebService;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleAddMenu;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleDelete;
|
||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleUpdate;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@DisplayName("Role Web Service 테스트")
|
||||
@Transactional
|
||||
class RoleWebServiceTest extends MariaDBTestEnv {
|
||||
|
||||
@Autowired
|
||||
private RoleWebService roleWebService;
|
||||
|
||||
@Autowired
|
||||
private RoleRepository roleRepository;
|
||||
|
||||
@Autowired
|
||||
private MenuRepository menuRepository;
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
@DisplayName("Role 생성 테스트")
|
||||
void createTest() {
|
||||
// given
|
||||
RoleCreate.Request request = new RoleCreate.Request();
|
||||
request.setName("test");
|
||||
request.setDescription("test");
|
||||
|
||||
// when
|
||||
RoleCreate.Response response = roleWebService.create(request);
|
||||
flushAndClear();
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Role 수정 테스트")
|
||||
void updateTest() {
|
||||
// given
|
||||
Role savedRole = getSavedRole();
|
||||
flushAndClear();
|
||||
|
||||
RoleUpdate.Request request = new RoleUpdate.Request();
|
||||
request.setId(savedRole.getId());
|
||||
request.setName("test2");
|
||||
request.setDescription("test2");
|
||||
|
||||
// when
|
||||
RoleUpdate.Response response = roleWebService.update(request);
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Role 삭제 테스트")
|
||||
void deleteTest() {
|
||||
// given
|
||||
Role savedRole = getSavedRole();
|
||||
flushAndClear();
|
||||
|
||||
RoleDelete.Request request = new RoleDelete.Request();
|
||||
request.setId(savedRole.getId());
|
||||
|
||||
// when
|
||||
RoleDelete.Response response = roleWebService.delete(request);
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Role 메뉴 추가 테스트")
|
||||
void putMenuTest() {
|
||||
// given
|
||||
Role savedRole = getSavedRole();
|
||||
Menu menu = getSavedMenu();
|
||||
flushAndClear();
|
||||
|
||||
RoleAddMenu.Request request = new RoleAddMenu.Request();
|
||||
request.setRoleId(savedRole.getId());
|
||||
request.setMenus(
|
||||
List.of(
|
||||
new RoleAddMenu.Request.Menu(menu.getId(), RoleMenuType.MANAGER)
|
||||
)
|
||||
);
|
||||
|
||||
// when
|
||||
RoleAddMenu.Response response = roleWebService.putMenu(request);
|
||||
|
||||
// then
|
||||
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||
}
|
||||
|
||||
private Menu getSavedMenu() {
|
||||
return menuRepository.save(
|
||||
Menu.of(
|
||||
"test",
|
||||
"test",
|
||||
1
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
private Role getSavedRole() {
|
||||
return roleRepository.save(
|
||||
Role.of(
|
||||
"test",
|
||||
"test"
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue