admin: menu 리팩토링

This commit is contained in:
geonhos 2024-05-21 11:26:56 +09:00
parent 11b12faed7
commit a2224fcdbe
13 changed files with 205 additions and 245 deletions

View File

@ -2,12 +2,14 @@ package com.bpgroup.poc.admin.domain.base.menu.entity;
import com.bpgroup.poc.admin.domain.base.BaseEntity;
import jakarta.persistence.*;
import lombok.Builder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Getter
@Entity
@Table(name = "menu")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Menu extends BaseEntity {
@Id
@ -27,20 +29,26 @@ public class Menu extends BaseEntity {
@JoinColumn(name = "menu_group_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
private MenuGroup menuGroup;
private Menu(String uri, String name, Integer sortOrder, MenuGroup menuGroup) {
this.uri = uri;
this.name = name;
this.sortOrder = sortOrder;
this.menuGroup = menuGroup;
}
public static Menu createOf(String uri, String name, Integer sortOrder) {
return new Menu(uri, name, sortOrder, null);
}
public static Menu updateOf(String uri, String name, Integer sortOrder) {
return new Menu(uri, name, sortOrder, null);
}
public void addMenuGroup(MenuGroup menuGroup) {
this.menuGroup = menuGroup;
menuGroup.getMenus().add(this);
}
@Builder
public static Menu of(String uri, String name, Integer sortOrder) {
Menu menu = new Menu();
menu.uri = uri;
menu.name = name;
menu.sortOrder = sortOrder;
return menu;
}
public void update(Menu entity) {
this.uri = entity.uri;
this.name = entity.name;

View File

@ -2,8 +2,9 @@ package com.bpgroup.poc.admin.domain.base.menu.entity;
import com.bpgroup.poc.admin.domain.base.BaseEntity;
import jakarta.persistence.*;
import lombok.Builder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@ -11,6 +12,7 @@ import java.util.List;
@Getter
@Entity
@Table(name = "menu_group")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class MenuGroup extends BaseEntity {
@Id
@ -29,13 +31,19 @@ public class MenuGroup extends BaseEntity {
@OneToMany(mappedBy = "menuGroup", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<Menu> menus = new ArrayList<>();
@Builder
public static MenuGroup of(String uri, String name, Integer sortOrder) {
MenuGroup menuGroup = new MenuGroup();
menuGroup.uri = uri;
menuGroup.name = name;
menuGroup.sortOrder = sortOrder;
return menuGroup;
private MenuGroup(String uri, String name, Integer sortOrder, List<Menu> menus) {
this.uri = uri;
this.name = name;
this.sortOrder = sortOrder;
this.menus = menus;
}
public static MenuGroup createOf(String uri, String name, Integer sortOrder) {
return new MenuGroup(uri, name, sortOrder, new ArrayList<>());
}
public static MenuGroup updateOf(String uri, String name, Integer sortOrder) {
return new MenuGroup(uri, name, sortOrder, new ArrayList<>());
}
public void update(MenuGroup entity) {

View File

@ -3,40 +3,27 @@ package com.bpgroup.poc.admin.domain.base.menu.service;
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.ToString;
import lombok.RequiredArgsConstructor;
@Getter
@ToString
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class MenuCreateCommand {
@NotNull
private Long menuGroupId;
private final Long menuGroupId;
@NotBlank
private String uri;
private final String uri;
@NotBlank
private String name;
private final String name;
@NotNull
private Integer sortOrder;
private final Integer sortOrder;
@Builder
public static MenuCreateCommand of(Long menuGroupId, String uri, String name, Integer sortOrder) {
MenuCreateCommand command = new MenuCreateCommand();
command.menuGroupId = menuGroupId;
command.uri = uri;
command.name = name;
command.sortOrder = sortOrder;
return command;
return new MenuCreateCommand(menuGroupId, uri, name, sortOrder);
}
public Menu toEntity() {
return Menu.builder()
.uri(uri)
.name(name)
.sortOrder(sortOrder)
.build();
return Menu.createOf(uri, name, sortOrder);
}
}

View File

@ -3,34 +3,29 @@ package com.bpgroup.poc.admin.domain.base.menu.service;
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.ToString;
import lombok.RequiredArgsConstructor;
@Getter
@ToString
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class MenuGroupCreateCommand {
@NotBlank
private String uri;
private final String uri;
@NotBlank
private String name;
private final String name;
@NotNull
private Integer sortOrder;
private final Integer sortOrder;
@Builder
public static MenuGroupCreateCommand of(String uri, String name, Integer sortOrder) {
MenuGroupCreateCommand command = new MenuGroupCreateCommand();
command.uri = uri;
command.name = name;
command.sortOrder = sortOrder;
return command;
return new MenuGroupCreateCommand(uri, name, sortOrder);
}
public MenuGroup toEntity() {
return MenuGroup.builder()
.uri(uri)
.name(name)
.sortOrder(sortOrder)
.build();
return MenuGroup.createOf(
uri,
name,
sortOrder
);
}
}

View File

@ -3,37 +3,31 @@ package com.bpgroup.poc.admin.domain.base.menu.service;
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.ToString;
import lombok.RequiredArgsConstructor;
@Getter
@ToString
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class MenuGroupUpdateCommand {
@NotNull
private Long id;
private final Long id;
@NotBlank
private String uri;
private final String uri;
@NotBlank
private String name;
private final String name;
@NotNull
private Integer sortOrder;
private final Integer sortOrder;
@Builder
public static MenuGroupUpdateCommand of(Long id, String uri, String name, Integer sortOrder) {
MenuGroupUpdateCommand command = new MenuGroupUpdateCommand();
command.id = id;
command.uri = uri;
command.name = name;
command.sortOrder = sortOrder;
return command;
return new MenuGroupUpdateCommand(id, uri, name, sortOrder);
}
public MenuGroup toEntity() {
return MenuGroup.builder()
.uri(uri)
.name(name)
.sortOrder(sortOrder)
.build();
return MenuGroup.updateOf(
uri,
name,
sortOrder
);
}
}

View File

@ -31,55 +31,32 @@ public class MenuService {
public void updateMenuGroup(
@NotNull @Valid MenuGroupUpdateCommand command
) {
Optional<MenuGroup> findMenuGroup = menuGroupRepository.findById(command.getId());
if (findMenuGroup.isEmpty()) {
throw new IllegalArgumentException("MenuGroup not found");
}
findMenuGroup.get().update(command.toEntity());
MenuGroup findMenuGroup = menuGroupRepository.findById(command.getId()).orElseThrow(() -> new IllegalArgumentException("MenuGroup not found"));
findMenuGroup.update(command.toEntity());
}
public void deleteMenuGroup(@NotNull Long id) {
Optional<MenuGroup> findMenuGroup = menuGroupRepository.findById(id);
if (findMenuGroup.isEmpty()) {
throw new IllegalArgumentException("MenuGroup not found");
}
menuGroupRepository.deleteById(id);
}
public void createMenu(
@NotNull @Valid MenuCreateCommand command
) {
Optional<MenuGroup> findMenuGroup = menuGroupRepository.findById(command.getMenuGroupId());
if (findMenuGroup.isEmpty()) {
throw new IllegalArgumentException("MenuGroup not found");
}
MenuGroup menuGroup = findMenuGroup.get();
MenuGroup findMenuGroup = menuGroupRepository.findById(command.getMenuGroupId()).orElseThrow(() -> new IllegalArgumentException("MenuGroup not found"));
Menu menu = command.toEntity();
menu.addMenuGroup(menuGroup);
menu.addMenuGroup(findMenuGroup);
menuRepository.save(menu);
}
public void updateMenu(
@NotNull @Valid MenuUpdateCommand build
@NotNull @Valid MenuUpdateCommand command
) {
Optional<Menu> findMenu = menuRepository.findById(build.getId());
if (findMenu.isEmpty()) {
throw new IllegalArgumentException("Menu not found");
}
findMenu.get().update(build.toEntity());
Menu findMenu = menuRepository.findById(command.getId()).orElseThrow(() -> new IllegalArgumentException("Menu not found"));
findMenu.update(command.toEntity());
}
public void deleteMenu(@NotNull Long id) {
Optional<Menu> findMenu = menuRepository.findById(id);
if (findMenu.isEmpty()) {
throw new IllegalArgumentException("Menu not found");
}
menuRepository.deleteById(id);
}

View File

@ -3,38 +3,28 @@ package com.bpgroup.poc.admin.domain.base.menu.service;
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.ToString;
import lombok.RequiredArgsConstructor;
@Getter
@ToString
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class MenuUpdateCommand {
@NotNull
private Long id;
private final Long id;
@NotBlank
private String uri;
private final String uri;
@NotBlank
private String name;
private final String name;
@NotNull
private Integer sortOrder;
private final Integer sortOrder;
@Builder
public static MenuUpdateCommand of(Long id, String uri, String name, Integer sortOrder) {
MenuUpdateCommand command = new MenuUpdateCommand();
command.id = id;
command.uri = uri;
command.name = name;
command.sortOrder = sortOrder;
return command;
return new MenuUpdateCommand(id, uri, name, sortOrder);
}
public Menu toEntity() {
return Menu.builder()
.uri(uri)
.name(name)
.sortOrder(sortOrder)
.build();
return Menu.updateOf(uri, name, sortOrder);
}

View File

@ -9,17 +9,17 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
@Transactional
public class MenuWebService {
public class MenuAppService {
private final MenuService menuService;
public MenuGroupCreate.Response createMenuGroup(MenuGroupCreate.Request request) {
menuService.createMenuGroup(
MenuGroupCreateCommand.builder()
.name(request.getName())
.uri(request.getUri())
.sortOrder(request.getSortOrder())
.build()
MenuGroupCreateCommand.of(
request.getUri(),
request.getName(),
request.getSortOrder()
)
);
return MenuGroupCreate.Response.success();
@ -27,12 +27,12 @@ public class MenuWebService {
public MenuGroupUpdate.Response updateMenuGroup(MenuGroupUpdate.Request request) {
menuService.updateMenuGroup(
MenuGroupUpdateCommand.builder()
.id(request.getId())
.name(request.getName())
.uri(request.getUri())
.sortOrder(request.getSortOrder())
.build()
MenuGroupUpdateCommand.of(
request.getId(),
request.getName(),
request.getUri(),
request.getSortOrder()
)
);
return MenuGroupUpdate.Response.success();
@ -45,12 +45,12 @@ public class MenuWebService {
public MenuCreate.Response createMenu(MenuCreate.Request request) {
menuService.createMenu(
MenuCreateCommand.builder()
.menuGroupId(request.getMenuGroupId())
.uri(request.getUri())
.name(request.getName())
.sortOrder(request.getSortOrder())
.build()
MenuCreateCommand.of(
request.getMenuGroupId(),
request.getUri(),
request.getName(),
request.getSortOrder()
)
);
return MenuCreate.Response.success();
@ -58,12 +58,12 @@ public class MenuWebService {
public MenuUpdate.Response updateMenu(MenuUpdate.Request request) {
menuService.updateMenu(
MenuUpdateCommand.builder()
.id(request.getId())
.uri(request.getUri())
.name(request.getName())
.sortOrder(request.getSortOrder())
.build()
MenuUpdateCommand.of(
request.getId(),
request.getUri(),
request.getName(),
request.getSortOrder()
)
);
return MenuUpdate.Response.success();

View File

@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/admin")
public class MenuRestController {
private final MenuWebService menuWebService;
private final MenuAppService menuAppService;
@PostMapping("/menu-group/create")
@ -23,7 +23,7 @@ public class MenuRestController {
@RequestBody @Valid MenuGroupCreate.Request request,
BindingResult bindingResult
) {
MenuGroupCreate.Response response = menuWebService.createMenuGroup(request);
MenuGroupCreate.Response response = menuAppService.createMenuGroup(request);
return ResponseEntity.ok(response);
}
@ -32,7 +32,7 @@ public class MenuRestController {
@RequestBody @Valid MenuGroupUpdate.Request request,
BindingResult bindingResult
) {
MenuGroupUpdate.Response response = menuWebService.updateMenuGroup(request);
MenuGroupUpdate.Response response = menuAppService.updateMenuGroup(request);
return ResponseEntity.ok(response);
}
@ -41,7 +41,7 @@ public class MenuRestController {
@RequestBody @Valid MenuGroupDelete.Request request,
BindingResult bindingResult
) {
MenuGroupDelete.Response response = menuWebService.deleteMenuGroup(request);
MenuGroupDelete.Response response = menuAppService.deleteMenuGroup(request);
return ResponseEntity.ok(response);
}
@ -50,7 +50,7 @@ public class MenuRestController {
@RequestBody @Valid MenuCreate.Request request,
BindingResult bindingResult
) {
MenuCreate.Response response = menuWebService.createMenu(request);
MenuCreate.Response response = menuAppService.createMenu(request);
return ResponseEntity.ok(response);
}
@ -59,7 +59,7 @@ public class MenuRestController {
@RequestBody @Valid MenuUpdate.Request request,
BindingResult bindingResult
) {
MenuUpdate.Response response = menuWebService.updateMenu(request);
MenuUpdate.Response response = menuAppService.updateMenu(request);
return ResponseEntity.ok(response);
}
@ -68,7 +68,7 @@ public class MenuRestController {
@RequestBody @Valid MenuDelete.Request request,
BindingResult bindingResult
) {
MenuDelete.Response response = menuWebService.deleteMenu(request);
MenuDelete.Response response = menuAppService.deleteMenu(request);
return ResponseEntity.ok(response);
}

View File

@ -58,12 +58,12 @@ class MenuServiceTest extends MariaDBTestEnv {
// when
menuService.updateMenuGroup(
MenuGroupUpdateCommand.builder()
.id(menuGroupRepository.findAll().get(0).getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build()
MenuGroupUpdateCommand.of(
menuGroupRepository.findAll().get(0).getId(),
"uri2",
"name2",
1
)
);
flushAndClear();
@ -91,11 +91,11 @@ class MenuServiceTest extends MariaDBTestEnv {
@NotNull
private MenuGroup createMenuGroup() {
return menuGroupRepository.save(
MenuGroup.builder()
.uri("uri")
.name("name")
.sortOrder(1)
.build()
MenuGroup.createOf(
"uri",
"name",
1
)
);
}
@ -103,17 +103,17 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("Menu 생성 테스트")
void createGroupTest() {
// given
MenuGroup saveMenuGroup = createMenuGroup();
MenuGroup savedMenuGroup = createMenuGroup();
flushAndClear();
// when
menuService.createMenu(
MenuCreateCommand.builder()
.menuGroupId(saveMenuGroup.getId())
.uri("uri")
.name("name")
.sortOrder(1)
.build()
MenuCreateCommand.of(
savedMenuGroup.getId(),
"uri",
"name",
1
)
);
flushAndClear();
@ -128,11 +128,12 @@ class MenuServiceTest extends MariaDBTestEnv {
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
Menu menu = Menu.builder()
.uri("uri")
.name("name")
.sortOrder(1)
.build();
Menu menu = Menu.updateOf(
"uri",
"name",
1
);
menu.addMenuGroup(saveMenuGroup);
Menu saveMenu = menuRepository.save(menu);
@ -140,12 +141,12 @@ class MenuServiceTest extends MariaDBTestEnv {
// when
menuService.updateMenu(
MenuUpdateCommand.builder()
.id(saveMenu.getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build()
MenuUpdateCommand.of(
saveMenu.getId(),
"uri2",
"name2",
1
)
);
flushAndClear();
@ -162,11 +163,11 @@ class MenuServiceTest extends MariaDBTestEnv {
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
Menu menu = Menu.builder()
.uri("uri")
.name("name")
.sortOrder(1)
.build();
Menu menu = Menu.createOf(
"uri",
"name",
1
);
menu.addMenuGroup(saveMenuGroup);
Menu saveMenu = menuRepository.save(menu);
@ -188,12 +189,12 @@ class MenuServiceTest extends MariaDBTestEnv {
flushAndClear();
menuService.createMenu(
MenuCreateCommand.builder()
.menuGroupId(saveMenuGroup.getId())
.uri("uri")
.name("name")
.sortOrder(1)
.build()
MenuCreateCommand.of(
saveMenuGroup.getId(),
"uri",
"name",
1
)
);
flushAndClear();
@ -210,19 +211,19 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("MenuService method 호출 유효성 검사 테스트")
void validationTest() {
// menuGroup create
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.builder().uri("").name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.builder().uri(null).name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.builder().uri("uri").name("").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.builder().uri("uri").name(null).sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.builder().uri("uri").name("name").sortOrder(null).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.of("", "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.of(null, "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.of("uri", "", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.of("uri", null, 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.createMenuGroup(MenuGroupCreateCommand.of("uri", "name", null))).isInstanceOf(ConstraintViolationException.class);
// menuGroup update
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.builder().id(null).uri("uri").name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.builder().id(1L).uri("").name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.builder().id(1L).uri(null).name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.builder().id(1L).uri("uri").name("").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.builder().id(1L).uri("uri").name(null).sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.builder().id(1L).uri("uri").name("name").sortOrder(null).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.of(null, "uri", "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.of(1L, "", "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.of(1L, null, "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.of(1L, "uri", "", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.of(1L, "uri", null, 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenuGroup(MenuGroupUpdateCommand.of(1L, "uri", "name", null))).isInstanceOf(ConstraintViolationException.class);
// menuGroup delete
assertThatThrownBy(() -> menuService.deleteMenu(null)).isInstanceOf(ConstraintViolationException.class);
@ -236,12 +237,13 @@ class MenuServiceTest extends MariaDBTestEnv {
assertThatThrownBy(() -> menuService.createMenu(MenuCreateCommand.of(1L, "uri", "name", null))).isInstanceOf(ConstraintViolationException.class);
// menu update
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.builder().id(null).uri("uri").name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.builder().id(1L).uri("").name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.builder().id(1L).uri(null).name("name").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.builder().id(1L).uri("uri").name("").sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.builder().id(1L).uri("uri").name(null).sortOrder(1).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.builder().id(1L).uri("uri").name("name").sortOrder(null).build())).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.of(null, "uri", "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.of(1L, "", "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.of(1L, null, "name", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.of(1L, "uri", "", 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.of(1L, "uri", null, 1))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> menuService.updateMenu(MenuUpdateCommand.of(1L, "uri", "name", null))).isInstanceOf(ConstraintViolationException.class);
// menu delete
assertThatThrownBy(() -> menuService.deleteMenu(null)).isInstanceOf(ConstraintViolationException.class);

View File

@ -225,20 +225,20 @@ class RoleServiceTest extends MariaDBTestEnv {
private MenuGroup createMenuGroup() {
return menuGroupRepository.save(
MenuGroup.builder()
.uri("TEST")
.name("TEST")
.sortOrder(1)
.build()
MenuGroup.createOf(
"TEST",
"TEST",
1
)
);
}
private Menu createMenu(MenuGroup menuGroup) {
Menu menu = Menu.builder()
.uri("TEST")
.name("TEST")
.sortOrder(1)
.build();
Menu menu = Menu.createOf(
"TEST",
"TEST",
1
);
menu.addMenuGroup(menuGroup);
return menuRepository.save(menu);
}
@ -259,12 +259,11 @@ class RoleServiceTest extends MariaDBTestEnv {
assertThatThrownBy(() -> roleService.delete(null)).isInstanceOf(ConstraintViolationException.class);
// add Role Menu
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().role(null).menu(new Menu()).build()))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().role(null).menu(Menu.createOf("uri", "name", 1)).build()))).isInstanceOf(ConstraintViolationException.class);
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().role(new Role()).menu(null).build()))).isInstanceOf(ConstraintViolationException.class);
// delete Role Menu
assertThatThrownBy(() -> roleService.deleteRoleMenu(null)).isInstanceOf(ConstraintViolationException.class);
}
}

View File

@ -5,7 +5,7 @@ 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.MenuAppService;
import com.bpgroup.poc.admin.web.main.admin.menu.reqres.*;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.DisplayName;
@ -17,10 +17,10 @@ import static org.assertj.core.api.Assertions.assertThat;
@DisplayName("Menu Web Service 테스트")
@Transactional
public class MenuWebServiceTest extends MariaDBTestEnv {
public class MenuAppServiceTest extends MariaDBTestEnv {
@Autowired
private MenuWebService menuWebService;
private MenuAppService menuAppService;
@Autowired
private MenuGroupRepository menuGroupRepository;
@ -38,7 +38,7 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
request.setSortOrder(1);
// when
MenuGroupCreate.Response response = menuWebService.createMenuGroup(request);
MenuGroupCreate.Response response = menuAppService.createMenuGroup(request);
// then
assertThat(response.getResultCode()).isEqualTo("0000");
@ -58,7 +58,7 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
updateRequest.setSortOrder(1);
// when
MenuGroupUpdate.Response updateResponse = menuWebService.updateMenuGroup(updateRequest);
MenuGroupUpdate.Response updateResponse = menuAppService.updateMenuGroup(updateRequest);
// then
assertThat(updateResponse.getResultCode()).isEqualTo("0000");
@ -75,7 +75,7 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
deleteRequest.setId(savedMenuGroup.getId());
// when
MenuGroupDelete.Response deleteResponse = menuWebService.deleteMenuGroup(deleteRequest);
MenuGroupDelete.Response deleteResponse = menuAppService.deleteMenuGroup(deleteRequest);
// then
assertThat(deleteResponse.getResultCode()).isEqualTo("0000");
@ -95,7 +95,7 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
createRequest.setSortOrder(1);
// when
MenuCreate.Response createResponse = menuWebService.createMenu(createRequest);
MenuCreate.Response createResponse = menuAppService.createMenu(createRequest);
// then
assertThat(createResponse.getResultCode()).isEqualTo("0000");
@ -117,7 +117,7 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
updateRequest.setSortOrder(1);
// when
MenuUpdate.Response updateResponse = menuWebService.updateMenu(updateRequest);
MenuUpdate.Response updateResponse = menuAppService.updateMenu(updateRequest);
// then
assertThat(updateResponse.getResultCode()).isEqualTo("0000");
@ -136,7 +136,7 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
deleteRequest.setId(savedMenu.getId());
// when
MenuDelete.Response deleteResponse = menuWebService.deleteMenu(deleteRequest);
MenuDelete.Response deleteResponse = menuAppService.deleteMenu(deleteRequest);
// then
assertThat(deleteResponse.getResultCode()).isEqualTo("0000");
@ -145,22 +145,22 @@ public class MenuWebServiceTest extends MariaDBTestEnv {
@NotNull
private Menu getSavedMenu() {
return menuRepository.save(
Menu.builder()
.uri("test")
.name("test")
.sortOrder(1)
.build()
Menu.createOf(
"test",
"test",
1
)
);
}
@NotNull
private MenuGroup getSavedMenuGroup() {
return menuGroupRepository.save(
MenuGroup.builder()
.name("test")
.uri("test")
.sortOrder(1)
.build()
MenuGroup.createOf(
"test",
"test",
1
)
);
}

View File

@ -112,7 +112,7 @@ class RoleWebServiceTest extends MariaDBTestEnv {
private Menu getSavedMenu() {
return menuRepository.save(
Menu.of(
Menu.createOf(
"test",
"test",
1