feature/admin #7

Merged
gh.yeom merged 8 commits from feature/admin into main 2024-05-16 16:36:02 +09:00
3 changed files with 154 additions and 153 deletions
Showing only changes of commit 63f03ca1e6 - Show all commits

View File

@ -8,6 +8,7 @@ import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorCrea
import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorManagementService;
import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorUpdateCommand;
import jakarta.validation.ConstraintViolationException;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@ -36,16 +37,15 @@ public class AdministratorServiceTest extends MariaDBTestEnv {
@DisplayName("Administrator 등록 테스트")
@Test
public void createAdministratorTest() {
// given
AdministratorCreateCommand command = AdministratorCreateCommand.builder()
// when
AdministratorCreateResult createResult = service.create(
AdministratorCreateCommand.builder()
.loginId("test")
.password("test")
.email("test")
.name("test")
.build();
// when
AdministratorCreateResult createResult = service.create(command);
.build()
);
// then
assertThat(createResult.getId()).isNotNull();
@ -55,30 +55,22 @@ public class AdministratorServiceTest extends MariaDBTestEnv {
@Test
public void updateAdministratorTest() {
// given
AdministratorCreateCommand command = AdministratorCreateCommand.builder()
.loginId("test")
.password("test")
.email("test")
.name("test")
.build();
// when
AdministratorCreateResult createResult = service.create(command);
Administrator saveAdministrator = createAdministrator();
flushAndClear();
AdministratorUpdateCommand updateCommand = AdministratorUpdateCommand.builder()
.id(createResult.getId())
// when
service.update(
AdministratorUpdateCommand.builder()
.id(saveAdministrator.getId())
.password("test2")
.email("test2")
.name("test2")
.build();
// when
service.update(updateCommand);
.build()
);
flushAndClear();
// then
Administrator findAdministrator = repository.findById(createResult.getId()).orElseThrow();
Administrator findAdministrator = repository.findById(saveAdministrator.getId()).orElseThrow();
assertThat(findAdministrator.getPassword()).isEqualTo("test2");
assertThat(findAdministrator.getEmail()).isEqualTo("test2");
assertThat(findAdministrator.getName()).isEqualTo("test2");
@ -88,22 +80,27 @@ public class AdministratorServiceTest extends MariaDBTestEnv {
@Test
public void deleteAdministratorTest() {
// given
AdministratorCreateCommand command = AdministratorCreateCommand.builder()
.loginId("test")
.password("test")
.email("test")
.name("test")
.build();
AdministratorCreateResult createResult = service.create(command);
Administrator saveAdministrator = createAdministrator();
flushAndClear();
// when
service.delete(createResult.getId());
service.delete(saveAdministrator.getId());
flushAndClear();
// then
assertThat(repository.findById(createResult.getId())).isEmpty();
assertThat(repository.findById(saveAdministrator.getId())).isEmpty();
}
@NotNull
private Administrator createAdministrator() {
return repository.save(
Administrator.builder()
.loginId("test2")
.password("test2")
.email("test2")
.name("test2")
.build()
);
}
@Test

View File

@ -8,6 +8,7 @@ import com.bpgroup.poc.admin.env.MariaDBTestEnv;
import com.bpgroup.poc.admin.web.main.admin.menu.service.*;
import jakarta.validation.ConstraintViolationException;
import org.assertj.core.api.Assertions;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@ -53,19 +54,18 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("MenuGroup 수정 테스트")
void updateMenuGroupTest() {
// given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1);
menuService.createMenuGroup(groupCreateCommand);
createMenuGroup();
flushAndClear();
MenuGroupUpdateCommand groupUpdateCommand = MenuGroupUpdateCommand.builder()
// when
menuService.updateMenuGroup(
MenuGroupUpdateCommand.builder()
.id(menuGroupRepository.findAll().get(0).getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build();
// when
menuService.updateMenuGroup(groupUpdateCommand);
.build()
);
flushAndClear();
// then
@ -78,62 +78,44 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("MenuGroup 삭제 테스트")
void deleteMenuGroupTest() {
// given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1);
menuService.createMenuGroup(groupCreateCommand);
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
// when
menuService.deleteMenuGroup(menuGroupRepository.findAll().get(0).getId());
menuService.deleteMenuGroup(saveMenuGroup.getId());
flushAndClear();
// then
Assertions.assertThat(menuGroupRepository.findAll()).hasSize(0);
Assertions.assertThat(menuGroupRepository.findById(saveMenuGroup.getId())).isEmpty();
}
@Test
@DisplayName("MenuGroup 삭제 시 Menu 동시 삭제 테스트")
void deleteMenuGroupWithMenuTest() {
// given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1);
menuService.createMenuGroup(groupCreateCommand);
flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
@NotNull
private MenuGroup createMenuGroup() {
return menuGroupRepository.save(
MenuGroup.builder()
.uri("uri")
.name("name")
.sortOrder(1)
.build();
menuService.createMenu(menuCreateCommand);
flushAndClear();
// when
menuService.deleteMenuGroup(menuGroupRepository.findAll().get(0).getId());
flushAndClear();
// then
Assertions.assertThat(menuGroupRepository.findAll()).hasSize(0);
Assertions.assertThat(menuRepository.findAll()).hasSize(0);
.build()
);
}
@Test
@DisplayName("Menu 생성 테스트")
void createGroupTest() {
// given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1);
menuService.createMenuGroup(groupCreateCommand);
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
// when
menuService.createMenu(
MenuCreateCommand.builder()
.menuGroupId(saveMenuGroup.getId())
.uri("uri")
.name("name")
.sortOrder(1)
.build();
// when
menuService.createMenu(menuCreateCommand);
.build()
);
flushAndClear();
// then
@ -144,33 +126,32 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("Menu 수정 테스트")
void updateMenuTest() {
// given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1);
menuService.createMenuGroup(groupCreateCommand);
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
Menu menu = Menu.builder()
.uri("uri")
.name("name")
.sortOrder(1)
.build();
menu.setMenuGroup(saveMenuGroup);
menuService.createMenu(menuCreateCommand);
Menu saveMenu = menuRepository.save(menu);
flushAndClear();
MenuUpdateCommand menuUpdateCommand = MenuUpdateCommand.builder()
.id(menuRepository.findAll().get(0).getId())
// when
menuService.updateMenu(
MenuUpdateCommand.builder()
.id(saveMenu.getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build();
// when
menuService.updateMenu(menuUpdateCommand);
.build()
);
flushAndClear();
// then
Menu findMenu = menuRepository.findAll().get(0);
Menu findMenu = menuRepository.findById(saveMenu.getId()).orElseThrow();
Assertions.assertThat(findMenu.getUri()).isEqualTo("uri2");
Assertions.assertThat(findMenu.getName()).isEqualTo("name2");
}
@ -179,25 +160,50 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("Menu 삭제 테스트")
void deleteMenuTest() {
// given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1);
menuService.createMenuGroup(groupCreateCommand);
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
Menu menu = Menu.builder()
.uri("uri")
.name("name")
.sortOrder(1)
.build();
menu.setMenuGroup(saveMenuGroup);
menuService.createMenu(menuCreateCommand);
Menu saveMenu = menuRepository.save(menu);
flushAndClear();
// when
menuService.deleteMenu(menuRepository.findAll().get(0).getId());
menuService.deleteMenu(saveMenu.getId());
flushAndClear();
// then
Assertions.assertThat(menuRepository.findById(saveMenu.getId())).isEmpty();
}
@Test
@DisplayName("MenuGroup 삭제 시 Menu 동시 삭제 테스트")
void deleteMenuGroupWithMenuTest() {
// given
MenuGroup saveMenuGroup = createMenuGroup();
flushAndClear();
menuService.createMenu(
MenuCreateCommand.builder()
.menuGroupId(saveMenuGroup.getId())
.uri("uri")
.name("name")
.sortOrder(1)
.build()
);
flushAndClear();
// when
menuService.deleteMenuGroup(menuGroupRepository.findAll().get(0).getId());
flushAndClear();
// then
Assertions.assertThat(menuGroupRepository.findAll()).hasSize(0);
Assertions.assertThat(menuRepository.findAll()).hasSize(0);
}

View File

@ -51,14 +51,13 @@ class RoleServiceTest extends MariaDBTestEnv {
@Test
@DisplayName("Role 생성 테스트")
void createRoleTest() {
// given
RoleCreateCommand roleCreateCommand = RoleCreateCommand.builder()
// when
RoleCreateResult createResult = roleService.create(
RoleCreateCommand.builder()
.name("TEST")
.description("TEST")
.build();
// when
RoleCreateResult createResult = roleService.create(roleCreateCommand);
.build()
);
// then
assertThat(createResult.getId()).isNotNull();
@ -68,20 +67,21 @@ class RoleServiceTest extends MariaDBTestEnv {
@DisplayName("Role 수정 테스트")
void updateRoleTest() {
// given
Long roleId = createRole();
RoleUpdateCommand roleUpdateCommand = RoleUpdateCommand.builder()
.id(roleId)
.name("TEST2")
.description("TEST2")
.build();
Role saveRole = createRole();
flushAndClear();
// when
roleService.update(roleUpdateCommand);
roleService.update(
RoleUpdateCommand.builder()
.id(saveRole.getId())
.name("TEST2")
.description("TEST2")
.build()
);
flushAndClear();
// then
Role role = roleRepository.findById(roleId).orElseThrow();
Role role = roleRepository.findById(saveRole.getId()).orElseThrow();
assertThat(role.getName()).isEqualTo("TEST2");
assertThat(role.getDescription()).isEqualTo("TEST2");
}
@ -90,66 +90,67 @@ class RoleServiceTest extends MariaDBTestEnv {
@DisplayName("Role 삭제 테스트")
void deleteRoleTest() {
// given
Long roleId = createRole();
Role saveRole = createRole();
flushAndClear();
// when
roleService.delete(roleId);
roleService.delete(saveRole.getId());
flushAndClear();
// then
assertThat(roleRepository.findById(roleId)).isEmpty();
assertThat(roleRepository.findById(saveRole.getId())).isEmpty();
}
@Test
@DisplayName("Role Menu 추가 테스트")
void addMenuTest() {
// given
Long roleId = createRole();
MenuGroup menuGroup = createMenus();
Role saveRole = createRole();
flushAndClear();
MenuGroup menuGroup = createMenuGroup();
flushAndClear();
Menu menu1 = createMenu(menuGroup);
Menu menu2 = createMenu(menuGroup);
flushAndClear();
Set<RoleAddMenuCommand> roleAddMenuCommands = Set.of(
// when
roleService.addMenu(
Set.of(
RoleAddMenuCommand.builder()
.roleId(roleId)
.roleId(saveRole.getId())
.menuId(menu1.getId())
.build(),
RoleAddMenuCommand.builder()
.roleId(roleId)
.roleId(saveRole.getId())
.menuId(menu2.getId())
.build()
)
);
// when
roleService.addMenu(roleAddMenuCommands);
flushAndClear();
// then
assertThat(roleMenuRepository.findAll()).hasSize(2);
assertThat(roleMenuRepository.findById(saveRole.getId())).isNotEmpty();
}
private Long createRole() {
Role role = roleRepository.save(
private Role createRole() {
return roleRepository.save(
Role.builder()
.name("TEST")
.description("TEST")
.build()
);
flushAndClear();
return role.getId();
}
private MenuGroup createMenus() {
MenuGroup menuGroup = menuGroupRepository.save(
private MenuGroup createMenuGroup() {
return menuGroupRepository.save(
MenuGroup.builder()
.uri("TEST")
.name("TEST")
.sortOrder(1)
.build()
);
flushAndClear();
return menuGroup;
}
private Menu createMenu(MenuGroup menuGroup) {
@ -159,10 +160,7 @@ class RoleServiceTest extends MariaDBTestEnv {
.sortOrder(1)
.build();
menu.setMenuGroup(menuGroup);
Menu saveMenu = menuRepository.save(menu);
flushAndClear();
return saveMenu;
return menuRepository.save(menu);
}
@Test