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.AdministratorManagementService;
import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorUpdateCommand; import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorUpdateCommand;
import jakarta.validation.ConstraintViolationException; import jakarta.validation.ConstraintViolationException;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -36,16 +37,15 @@ public class AdministratorServiceTest extends MariaDBTestEnv {
@DisplayName("Administrator 등록 테스트") @DisplayName("Administrator 등록 테스트")
@Test @Test
public void createAdministratorTest() { public void createAdministratorTest() {
// given
AdministratorCreateCommand command = AdministratorCreateCommand.builder()
.loginId("test")
.password("test")
.email("test")
.name("test")
.build();
// when // when
AdministratorCreateResult createResult = service.create(command); AdministratorCreateResult createResult = service.create(
AdministratorCreateCommand.builder()
.loginId("test")
.password("test")
.email("test")
.name("test")
.build()
);
// then // then
assertThat(createResult.getId()).isNotNull(); assertThat(createResult.getId()).isNotNull();
@ -55,30 +55,22 @@ public class AdministratorServiceTest extends MariaDBTestEnv {
@Test @Test
public void updateAdministratorTest() { public void updateAdministratorTest() {
// given // given
AdministratorCreateCommand command = AdministratorCreateCommand.builder() Administrator saveAdministrator = createAdministrator();
.loginId("test")
.password("test")
.email("test")
.name("test")
.build();
// when
AdministratorCreateResult createResult = service.create(command);
flushAndClear(); flushAndClear();
AdministratorUpdateCommand updateCommand = AdministratorUpdateCommand.builder()
.id(createResult.getId())
.password("test2")
.email("test2")
.name("test2")
.build();
// when // when
service.update(updateCommand); service.update(
AdministratorUpdateCommand.builder()
.id(saveAdministrator.getId())
.password("test2")
.email("test2")
.name("test2")
.build()
);
flushAndClear(); flushAndClear();
// then // then
Administrator findAdministrator = repository.findById(createResult.getId()).orElseThrow(); Administrator findAdministrator = repository.findById(saveAdministrator.getId()).orElseThrow();
assertThat(findAdministrator.getPassword()).isEqualTo("test2"); assertThat(findAdministrator.getPassword()).isEqualTo("test2");
assertThat(findAdministrator.getEmail()).isEqualTo("test2"); assertThat(findAdministrator.getEmail()).isEqualTo("test2");
assertThat(findAdministrator.getName()).isEqualTo("test2"); assertThat(findAdministrator.getName()).isEqualTo("test2");
@ -88,22 +80,27 @@ public class AdministratorServiceTest extends MariaDBTestEnv {
@Test @Test
public void deleteAdministratorTest() { public void deleteAdministratorTest() {
// given // given
AdministratorCreateCommand command = AdministratorCreateCommand.builder() Administrator saveAdministrator = createAdministrator();
.loginId("test")
.password("test")
.email("test")
.name("test")
.build();
AdministratorCreateResult createResult = service.create(command);
flushAndClear(); flushAndClear();
// when // when
service.delete(createResult.getId()); service.delete(saveAdministrator.getId());
flushAndClear(); flushAndClear();
// then // 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 @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 com.bpgroup.poc.admin.web.main.admin.menu.service.*;
import jakarta.validation.ConstraintViolationException; import jakarta.validation.ConstraintViolationException;
import org.assertj.core.api.Assertions; import org.assertj.core.api.Assertions;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -53,19 +54,18 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("MenuGroup 수정 테스트") @DisplayName("MenuGroup 수정 테스트")
void updateMenuGroupTest() { void updateMenuGroupTest() {
// given // given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1); createMenuGroup();
menuService.createMenuGroup(groupCreateCommand);
flushAndClear(); flushAndClear();
MenuGroupUpdateCommand groupUpdateCommand = MenuGroupUpdateCommand.builder()
.id(menuGroupRepository.findAll().get(0).getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build();
// when // when
menuService.updateMenuGroup(groupUpdateCommand); menuService.updateMenuGroup(
MenuGroupUpdateCommand.builder()
.id(menuGroupRepository.findAll().get(0).getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build()
);
flushAndClear(); flushAndClear();
// then // then
@ -78,62 +78,44 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("MenuGroup 삭제 테스트") @DisplayName("MenuGroup 삭제 테스트")
void deleteMenuGroupTest() { void deleteMenuGroupTest() {
// given // given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1); MenuGroup saveMenuGroup = createMenuGroup();
menuService.createMenuGroup(groupCreateCommand);
flushAndClear(); flushAndClear();
// when // when
menuService.deleteMenuGroup(menuGroupRepository.findAll().get(0).getId()); menuService.deleteMenuGroup(saveMenuGroup.getId());
flushAndClear(); flushAndClear();
// then // then
Assertions.assertThat(menuGroupRepository.findAll()).hasSize(0); Assertions.assertThat(menuGroupRepository.findById(saveMenuGroup.getId())).isEmpty();
} }
@Test @NotNull
@DisplayName("MenuGroup 삭제 시 Menu 동시 삭제 테스트") private MenuGroup createMenuGroup() {
void deleteMenuGroupWithMenuTest() { return menuGroupRepository.save(
// given MenuGroup.builder()
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1); .uri("uri")
menuService.createMenuGroup(groupCreateCommand); .name("name")
flushAndClear(); .sortOrder(1)
.build()
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder() );
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
.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);
} }
@Test @Test
@DisplayName("Menu 생성 테스트") @DisplayName("Menu 생성 테스트")
void createGroupTest() { void createGroupTest() {
// given // given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1); MenuGroup saveMenuGroup = createMenuGroup();
menuService.createMenuGroup(groupCreateCommand);
flushAndClear(); flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
.uri("uri")
.name("name")
.sortOrder(1)
.build();
// when // when
menuService.createMenu(menuCreateCommand); menuService.createMenu(
MenuCreateCommand.builder()
.menuGroupId(saveMenuGroup.getId())
.uri("uri")
.name("name")
.sortOrder(1)
.build()
);
flushAndClear(); flushAndClear();
// then // then
@ -144,33 +126,32 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("Menu 수정 테스트") @DisplayName("Menu 수정 테스트")
void updateMenuTest() { void updateMenuTest() {
// given // given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1); MenuGroup saveMenuGroup = createMenuGroup();
menuService.createMenuGroup(groupCreateCommand);
flushAndClear(); flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder() Menu menu = Menu.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
.uri("uri") .uri("uri")
.name("name") .name("name")
.sortOrder(1) .sortOrder(1)
.build(); .build();
menu.setMenuGroup(saveMenuGroup);
menuService.createMenu(menuCreateCommand); Menu saveMenu = menuRepository.save(menu);
flushAndClear(); flushAndClear();
MenuUpdateCommand menuUpdateCommand = MenuUpdateCommand.builder()
.id(menuRepository.findAll().get(0).getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build();
// when // when
menuService.updateMenu(menuUpdateCommand); menuService.updateMenu(
MenuUpdateCommand.builder()
.id(saveMenu.getId())
.uri("uri2")
.name("name2")
.sortOrder(1)
.build()
);
flushAndClear(); flushAndClear();
// then // then
Menu findMenu = menuRepository.findAll().get(0); Menu findMenu = menuRepository.findById(saveMenu.getId()).orElseThrow();
Assertions.assertThat(findMenu.getUri()).isEqualTo("uri2"); Assertions.assertThat(findMenu.getUri()).isEqualTo("uri2");
Assertions.assertThat(findMenu.getName()).isEqualTo("name2"); Assertions.assertThat(findMenu.getName()).isEqualTo("name2");
} }
@ -179,25 +160,50 @@ class MenuServiceTest extends MariaDBTestEnv {
@DisplayName("Menu 삭제 테스트") @DisplayName("Menu 삭제 테스트")
void deleteMenuTest() { void deleteMenuTest() {
// given // given
MenuGroupCreateCommand groupCreateCommand = MenuGroupCreateCommand.of("uri", "name", 1); MenuGroup saveMenuGroup = createMenuGroup();
menuService.createMenuGroup(groupCreateCommand);
flushAndClear(); flushAndClear();
MenuCreateCommand menuCreateCommand = MenuCreateCommand.builder() Menu menu = Menu.builder()
.menuGroupId(menuGroupRepository.findAll().get(0).getId())
.uri("uri") .uri("uri")
.name("name") .name("name")
.sortOrder(1) .sortOrder(1)
.build(); .build();
menu.setMenuGroup(saveMenuGroup);
menuService.createMenu(menuCreateCommand); Menu saveMenu = menuRepository.save(menu);
flushAndClear(); flushAndClear();
// when // when
menuService.deleteMenu(menuRepository.findAll().get(0).getId()); menuService.deleteMenu(saveMenu.getId());
flushAndClear(); flushAndClear();
// then // 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); Assertions.assertThat(menuRepository.findAll()).hasSize(0);
} }

View File

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