diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/Administrator.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/Administrator.java index 832a684..bbd7b78 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/Administrator.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/Administrator.java @@ -1,6 +1,7 @@ package com.bpgroup.poc.admin.domain.entity.administrator; import com.bpgroup.poc.admin.domain.entity.BaseEntity; +import com.bpgroup.poc.admin.domain.entity.role.Role; import jakarta.persistence.*; import lombok.Builder; import lombok.Getter; @@ -26,7 +27,7 @@ public class Administrator extends BaseEntity { @Column(name = "name", length = 100, nullable = false) private String name; - @OneToOne(mappedBy = "administrator", fetch = FetchType.LAZY) + @OneToOne(mappedBy = "administrator", fetch = FetchType.LAZY, orphanRemoval = true) private AdministratorRole administratorRole; @Builder @@ -45,4 +46,7 @@ public class Administrator extends BaseEntity { this.name = administrator.name; } + public void setAdministratorRole(Role role) { + this.administratorRole = AdministratorRole.of(this, role); + } } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRole.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRole.java index 56392dc..6b71d86 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRole.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRole.java @@ -3,6 +3,7 @@ package com.bpgroup.poc.admin.domain.entity.administrator; import com.bpgroup.poc.admin.domain.entity.BaseEntity; import com.bpgroup.poc.admin.domain.entity.role.Role; import jakarta.persistence.*; +import lombok.Builder; import lombok.Getter; @Getter @@ -14,12 +15,23 @@ public class AdministratorRole extends BaseEntity { @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "administrator_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private Administrator administrator; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "role_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private Role role; + @Builder + public static AdministratorRole of(Administrator administrator, Role role) { + AdministratorRole administratorRole = new AdministratorRole(); + administratorRole.administrator = administrator; + administratorRole.role = role; + return administratorRole; + } + + public void update(Role findRole) { + this.role = findRole; + } } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRoleRepository.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRoleRepository.java new file mode 100644 index 0000000..c2f890b --- /dev/null +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/administrator/AdministratorRoleRepository.java @@ -0,0 +1,6 @@ +package com.bpgroup.poc.admin.domain.entity.administrator; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AdministratorRoleRepository extends JpaRepository { +} diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/role/Role.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/role/Role.java index a119c65..167cf42 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/role/Role.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/domain/entity/role/Role.java @@ -40,10 +40,6 @@ public class Role extends BaseEntity { this.description = updateRole.description; } - public void addRoleMenu(RoleMenu roleMenu) { - this.roleMenus.add(roleMenu); - } - public void deleteRoleMenus() { this.roleMenus.clear(); } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdministratorManagementRestController.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdministratorManagementRestController.java index 464746e..cef249f 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdministratorManagementRestController.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/AdministratorManagementRestController.java @@ -84,6 +84,7 @@ public class AdministratorManagementRestController { .password(passwordEncoder.encode(request.getPassword())) .name(request.getName()) .email(request.getEmail()) + .roleId(request.getRoleId()) .build() ); @@ -93,7 +94,7 @@ public class AdministratorManagementRestController { /** * 관리자 삭제 * - * @param request 요청 + * @param request 요청 * @param bindingResult Validation 결과 * @return 응답 */ diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorCreate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorCreate.java index 11c455d..1fc94de 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorCreate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorCreate.java @@ -13,15 +13,14 @@ public class AdministratorCreate { public static class Request { @NotBlank private String loginId; - @NotBlank private String password; - @NotBlank private String email; - @NotBlank private String name; + @NotBlank + private String roleId; } @Getter diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorUpdate.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorUpdate.java index acbb7ec..ec471f3 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorUpdate.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/reqres/AdministratorUpdate.java @@ -14,15 +14,14 @@ public class AdministratorUpdate { public static class Request { @NotNull private Long id; - @NotBlank private String password; - @NotBlank private String email; - @NotBlank private String name; + @NotNull + private Long roleId; } @Getter diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorCreateCommand.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorCreateCommand.java index 4afd243..656f2dc 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorCreateCommand.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorCreateCommand.java @@ -2,6 +2,7 @@ package com.bpgroup.poc.admin.web.main.admin.management.service; import com.bpgroup.poc.admin.domain.entity.administrator.Administrator; import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Builder; import lombok.Getter; import lombok.ToString; @@ -9,26 +10,25 @@ import lombok.ToString; @Getter @ToString public class AdministratorCreateCommand { - @NotBlank private String loginId; - @NotBlank private String password; - @NotBlank private String email; - @NotBlank private String name; + @NotNull + private Long roleId; @Builder - public static AdministratorCreateCommand of(String loginId, String password, String email, String name) { + public static AdministratorCreateCommand of(String loginId, String password, String email, String name, Long roleId) { AdministratorCreateCommand command = new AdministratorCreateCommand(); command.loginId = loginId; command.password = password; command.email = email; command.name = name; + command.roleId = roleId; return command; } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorManagementService.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorManagementService.java index 885e2cc..64beb79 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorManagementService.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorManagementService.java @@ -2,6 +2,10 @@ package com.bpgroup.poc.admin.web.main.admin.management.service; import com.bpgroup.poc.admin.domain.entity.administrator.Administrator; import com.bpgroup.poc.admin.domain.entity.administrator.AdministratorRepository; +import com.bpgroup.poc.admin.domain.entity.administrator.AdministratorRole; +import com.bpgroup.poc.admin.domain.entity.administrator.AdministratorRoleRepository; +import com.bpgroup.poc.admin.domain.entity.role.Role; +import com.bpgroup.poc.admin.domain.entity.role.RoleRepository; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; @@ -17,12 +21,26 @@ import java.util.Optional; @Transactional public class AdministratorManagementService { - private final AdministratorRepository repository; + private final AdministratorRepository administratorRepository; + private final AdministratorRoleRepository administratorRoleRepository; + private final RoleRepository roleRepository; public AdministratorCreateResult create( @NotNull @Valid AdministratorCreateCommand command ) { - Administrator admin = repository.save(command.toEntity()); + Optional findRole = roleRepository.findById(command.getRoleId()); + if (findRole.isEmpty()) { + throw new IllegalArgumentException("Not found role"); + } + + Administrator admin = administratorRepository.save(command.toEntity()); + + AdministratorRole administratorRole = AdministratorRole.builder() + .administrator(admin) + .role(findRole.get()) + .build(); + + administratorRoleRepository.save(administratorRole); return AdministratorCreateResult.builder() .id(admin.getId()) @@ -32,21 +50,29 @@ public class AdministratorManagementService { public void update( @NotNull @Valid AdministratorUpdateCommand command ) { - Optional findAdministrator = repository.findById(command.getId()); + Optional findAdministrator = administratorRepository.findById(command.getId()); if (findAdministrator.isEmpty()) { throw new IllegalArgumentException("Not found administrator"); } Administrator administrator = findAdministrator.get(); administrator.update(command.toEntity()); + + Optional findRole = roleRepository.findById(command.getRoleId()); + if (findRole.isEmpty()) { + throw new IllegalArgumentException("Not found role"); + } + + Role role = findRole.get(); + administrator.getAdministratorRole().update(role); } public void delete(@NotNull Long id) { - Optional findAdministrator = repository.findById(id); + Optional findAdministrator = administratorRepository.findById(id); if (findAdministrator.isEmpty()) { throw new IllegalArgumentException("Not found administrator"); } - repository.deleteById(id); + administratorRepository.deleteById(id); } } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorUpdateCommand.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorUpdateCommand.java index 1c6d59e..1474acc 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorUpdateCommand.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/management/service/AdministratorUpdateCommand.java @@ -10,26 +10,25 @@ import lombok.ToString; @Getter @ToString public class AdministratorUpdateCommand { - @NotNull private Long id; - @NotBlank private String password; - @NotBlank private String email; - @NotBlank private String name; + @NotNull + private Long roleId; @Builder - public static AdministratorUpdateCommand of(Long id, String password, String email, String name) { + public static AdministratorUpdateCommand of(Long id, String password, String email, String name, Long roleId) { AdministratorUpdateCommand command = new AdministratorUpdateCommand(); command.id = id; command.password = password; command.email = email; command.name = name; + command.roleId = roleId; return command; } diff --git a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/service/RoleService.java b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/service/RoleService.java index 4804741..6eaf823 100644 --- a/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/service/RoleService.java +++ b/poc/admin/src/main/java/com/bpgroup/poc/admin/web/main/admin/role/service/RoleService.java @@ -82,8 +82,6 @@ public class RoleService { Menu menu = findMenu.get(); RoleMenu roleMenu = RoleMenu.of(role, menu); - role.addRoleMenu(roleMenu); - roleMenuRepository.save(roleMenu); }); diff --git a/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/administrator/AdministratorServiceTest.java b/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/administrator/AdministratorServiceTest.java index e389e61..14f0bb5 100644 --- a/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/administrator/AdministratorServiceTest.java +++ b/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/administrator/AdministratorServiceTest.java @@ -2,6 +2,10 @@ package com.bpgroup.poc.admin.web.main.admin.administrator; import com.bpgroup.poc.admin.domain.entity.administrator.Administrator; import com.bpgroup.poc.admin.domain.entity.administrator.AdministratorRepository; +import com.bpgroup.poc.admin.domain.entity.administrator.AdministratorRole; +import com.bpgroup.poc.admin.domain.entity.administrator.AdministratorRoleRepository; +import com.bpgroup.poc.admin.domain.entity.role.Role; +import com.bpgroup.poc.admin.domain.entity.role.RoleRepository; import com.bpgroup.poc.admin.env.MariaDBTestEnv; import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorCreateCommand; import com.bpgroup.poc.admin.web.main.admin.management.service.AdministratorCreateResult; @@ -20,23 +24,38 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; @Transactional @DisplayName("AdministratorService 테스트") -public class AdministratorServiceTest extends MariaDBTestEnv { + class AdministratorServiceTest extends MariaDBTestEnv { @Autowired private AdministratorManagementService service; @Autowired - private AdministratorRepository repository; + private AdministratorRepository administratorRepository; + + @Autowired + private AdministratorRoleRepository administratorRoleRepository; + + @Autowired + private RoleRepository roleRepository; @BeforeEach void setUp() { - repository.deleteAll(); + administratorRepository.deleteAll(); + administratorRoleRepository.deleteAll(); + roleRepository.deleteAll(); } - @DisplayName("Administrator 등록 테스트") @Test - public void createAdministratorTest() { + void createAdministratorTest() { + Role role = roleRepository.save( + Role.builder() + .name("test") + .description("test") + .build() + ); + flushAndClear(); + // when AdministratorCreateResult createResult = service.create( AdministratorCreateCommand.builder() @@ -44,20 +63,49 @@ public class AdministratorServiceTest extends MariaDBTestEnv { .password("test") .email("test") .name("test") + .roleId(role.getId()) .build() ); + flushAndClear(); // then assertThat(createResult.getId()).isNotNull(); + + Administrator findAdministrator = administratorRepository.findById(createResult.getId()).orElseThrow(); + assertThat(findAdministrator.getAdministratorRole().getRole().getName()).isEqualTo("test"); } @DisplayName("Administrator 수정 테스트") @Test - public void updateAdministratorTest() { + void updateAdministratorTest() { // given Administrator saveAdministrator = createAdministrator(); flushAndClear(); + Role saveRole = roleRepository.save( + Role.builder() + .name("test") + .description("test") + .build() + ); + flushAndClear(); + + Role updateRole = roleRepository.save( + Role.builder() + .name("test2") + .description("test2") + .build() + ); + flushAndClear(); + + administratorRoleRepository.save( + AdministratorRole.builder() + .administrator(saveAdministrator) + .role(saveRole) + .build() + ); + flushAndClear(); + // when service.update( AdministratorUpdateCommand.builder() @@ -65,20 +113,23 @@ public class AdministratorServiceTest extends MariaDBTestEnv { .password("test2") .email("test2") .name("test2") + .roleId(updateRole.getId()) .build() ); flushAndClear(); // then - Administrator findAdministrator = repository.findById(saveAdministrator.getId()).orElseThrow(); + Administrator findAdministrator = administratorRepository.findById(saveAdministrator.getId()).orElseThrow(); assertThat(findAdministrator.getPassword()).isEqualTo("test2"); assertThat(findAdministrator.getEmail()).isEqualTo("test2"); assertThat(findAdministrator.getName()).isEqualTo("test2"); + + assertThat(findAdministrator.getAdministratorRole().getRole().getName()).isEqualTo("test2"); } @DisplayName("Administrator 삭제 테스트") @Test - public void deleteAdministratorTest() { + void deleteAdministratorTest() { // given Administrator saveAdministrator = createAdministrator(); flushAndClear(); @@ -88,42 +139,75 @@ public class AdministratorServiceTest extends MariaDBTestEnv { flushAndClear(); // then - assertThat(repository.findById(saveAdministrator.getId())).isEmpty(); + assertThat(administratorRepository.findById(saveAdministrator.getId())).isEmpty(); + } + + @DisplayName("Administrator 삭제 시 Administrator 동시 삭제 테스트") + @Test + void deleteAdministratorAndAdministratorRoleTest() { + // given + Administrator saveAdministrator = createAdministrator(); + flushAndClear(); + + Role saveRole = roleRepository.save( + Role.builder() + .name("test") + .description("test") + .build() + ); + flushAndClear(); + + administratorRoleRepository.save( + AdministratorRole.builder() + .administrator(saveAdministrator) + .role(saveRole) + .build() + ); + flushAndClear(); + + // when + service.delete(saveAdministrator.getId()); + flushAndClear(); + + // then + assertThat(administratorRepository.findById(saveAdministrator.getId())).isEmpty(); + assertThat(administratorRoleRepository.findAll()).isEmpty(); } @NotNull private Administrator createAdministrator() { - return repository.save( - Administrator.builder() - .loginId("test2") - .password("test2") - .email("test2") - .name("test2") - .build() - ); + Administrator administrator = Administrator.builder() + .loginId("test2") + .password("test2") + .email("test2") + .name("test2") + .build(); + return administratorRepository.save(administrator); } @Test @DisplayName("AdministratorService method 호출 유효성 검사 테스트") void validationTest() { // create - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId(null).password("password").email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("").password("password").email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password(null).email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("").email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email(null).name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("email").name(null).build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("email").name("").build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId(null).password("password").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("").password("password").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password(null).email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email(null).name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("email").name(null).roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("email").name("").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.create(AdministratorCreateCommand.builder().loginId("loginId").password("password").email("email").name("name").roleId(null).build())).isInstanceOf(ConstraintViolationException.class); - // uodate - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(null).password("password").email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password(null).email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("").email("email").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email(null).name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("").name("name").build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("email").name(null).build())).isInstanceOf(ConstraintViolationException.class); - assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("email").name("").build())).isInstanceOf(ConstraintViolationException.class); + // update + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(null).password("password").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password(null).email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email(null).name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("email").name(null).roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("email").name("").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class); + assertThatThrownBy(() -> service.update(AdministratorUpdateCommand.builder().id(1L).password("password").email("email").name("name").roleId(null).build())).isInstanceOf(ConstraintViolationException.class); // delete assertThatThrownBy(() -> service.delete(null)).isInstanceOf(ConstraintViolationException.class); diff --git a/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/role/RoleServiceTest.java b/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/role/RoleServiceTest.java index 883d9ed..a29293d 100644 --- a/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/role/RoleServiceTest.java +++ b/poc/admin/src/test/java/com/bpgroup/poc/admin/web/main/admin/role/RoleServiceTest.java @@ -132,7 +132,7 @@ class RoleServiceTest extends MariaDBTestEnv { flushAndClear(); // then - assertThat(roleMenuRepository.findById(saveRole.getId())).isNotEmpty(); + assertThat(roleMenuRepository.findAll()).size().isEqualTo(2); } @Test