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