feature/admin #6
|
|
@ -1,7 +1,8 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
package com.bpgroup.poc.admin.domain.admin.command;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|
@ -21,6 +22,7 @@ public class AdministratorCreateCommand {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
@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) {
|
||||||
AdministratorCreateCommand command = new AdministratorCreateCommand();
|
AdministratorCreateCommand command = new AdministratorCreateCommand();
|
||||||
command.loginId = loginId;
|
command.loginId = loginId;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
package com.bpgroup.poc.admin.domain.admin.command;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
package com.bpgroup.poc.admin.domain.admin.command;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
package com.bpgroup.poc.admin.domain.admin.command;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
package com.bpgroup.poc.admin.domain.admin.exception;
|
||||||
|
|
||||||
public class DuplicationAdministratorException extends RuntimeException {
|
public class DuplicationAdministratorException extends RuntimeException {
|
||||||
public DuplicationAdministratorException(String loginId) {
|
public DuplicationAdministratorException(String loginId) {
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
package com.bpgroup.poc.admin.domain.admin.exception;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.DomainException;
|
import com.bpgroup.poc.admin.domain.DomainException;
|
||||||
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
package com.bpgroup.poc.admin.domain.admin.service;
|
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.AdministratorRepository;
|
|
||||||
import jakarta.validation.Valid;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Validated
|
|
||||||
@Transactional
|
|
||||||
public class AdministratorService {
|
|
||||||
|
|
||||||
private final AdministratorRepository administratorRepository;
|
|
||||||
|
|
||||||
public Long create(
|
|
||||||
@NotNull @Valid AdministratorCreateCommand command
|
|
||||||
) {
|
|
||||||
// 대소문자 구별이 필요한 경우 인증 부분과 유효성 검사 부분 모두 변경이 필요하다.
|
|
||||||
Optional<Administrator> administrator = administratorRepository.findByLoginId(command.getLoginId());
|
|
||||||
if (administrator.isPresent()) {
|
|
||||||
throw new DuplicationAdministratorException(command.getLoginId());
|
|
||||||
}
|
|
||||||
|
|
||||||
Administrator createAdministrator = administratorRepository.save(command.toEntity());
|
|
||||||
return createAdministrator.getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void update(
|
|
||||||
@NotNull @Valid AdministratorUpdateCommand command
|
|
||||||
) {
|
|
||||||
Optional<Administrator> administrator = administratorRepository.findById(command.getId());
|
|
||||||
if (administrator.isEmpty()) {
|
|
||||||
throw new NotFoundAdministratorException();
|
|
||||||
}
|
|
||||||
|
|
||||||
administrator.get().update(command.toEntity());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void delete(
|
|
||||||
@NotNull Long id
|
|
||||||
) {
|
|
||||||
administratorRepository.deleteById(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorUpdat
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.BindingResult;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
@ -18,7 +19,8 @@ import java.util.List;
|
||||||
@RequestMapping("/admin/management")
|
@RequestMapping("/admin/management")
|
||||||
public class AdministratorManagementRestController {
|
public class AdministratorManagementRestController {
|
||||||
|
|
||||||
private final AdministratorManagementWebService administratorManagementWebService;
|
private final PasswordEncoder passwordEncoder;
|
||||||
|
private final AdministratorManagementService administratorManagementService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 전체 조회
|
* 전체 조회
|
||||||
|
|
@ -26,7 +28,7 @@ public class AdministratorManagementRestController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public ResponseEntity<?> getAdministrators() {
|
public ResponseEntity<?> getAdministrators() {
|
||||||
List<AdministratorFind.Response> response = administratorManagementWebService.findAll();
|
List<AdministratorFind.Response> response = administratorManagementService.findAll();
|
||||||
return ResponseEntity.ok(response);
|
return ResponseEntity.ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -37,7 +39,7 @@ public class AdministratorManagementRestController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/{loginId}")
|
@GetMapping("/{loginId}")
|
||||||
public ResponseEntity<?> getAdministrator(@PathVariable @NotBlank String loginId) {
|
public ResponseEntity<?> getAdministrator(@PathVariable @NotBlank String loginId) {
|
||||||
AdministratorFind.Response response = administratorManagementWebService.find(loginId);
|
AdministratorFind.Response response = administratorManagementService.find(loginId);
|
||||||
return ResponseEntity.ok(response);
|
return ResponseEntity.ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -52,7 +54,8 @@ public class AdministratorManagementRestController {
|
||||||
@RequestBody @Validated AdministratorCreate.Request request,
|
@RequestBody @Validated AdministratorCreate.Request request,
|
||||||
BindingResult bindingResult
|
BindingResult bindingResult
|
||||||
) {
|
) {
|
||||||
AdministratorCreate.Response response = administratorManagementWebService.create(request);
|
request.setPassword(passwordEncoder.encode(request.getPassword()));
|
||||||
|
AdministratorCreate.Response response = administratorManagementService.create(request);
|
||||||
return ResponseEntity.ok(response);
|
return ResponseEntity.ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -61,8 +64,9 @@ public class AdministratorManagementRestController {
|
||||||
@RequestBody @Validated AdministratorUpdate.Request request,
|
@RequestBody @Validated AdministratorUpdate.Request request,
|
||||||
BindingResult bindingResult
|
BindingResult bindingResult
|
||||||
) {
|
) {
|
||||||
administratorManagementWebService.update(request);
|
request.setPassword(passwordEncoder.encode(request.getPassword()));
|
||||||
return ResponseEntity.ok().build();
|
AdministratorUpdate.Response response = administratorManagementService.update(request);
|
||||||
|
return ResponseEntity.ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -76,8 +80,8 @@ public class AdministratorManagementRestController {
|
||||||
@RequestBody @Validated AdministratorDelete.Request request,
|
@RequestBody @Validated AdministratorDelete.Request request,
|
||||||
BindingResult bindingResult
|
BindingResult bindingResult
|
||||||
) {
|
) {
|
||||||
administratorManagementWebService.delete(request);
|
AdministratorDelete.Response response = administratorManagementService.delete(request);
|
||||||
return ResponseEntity.ok().build();
|
return ResponseEntity.ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
package com.bpgroup.poc.admin.web.main.admin.management;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.command.AdministratorCreateCommand;
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.command.AdministratorUpdateCommand;
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.entity.AdministratorRepository;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorCreate;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorDelete;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorFind;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorUpdate;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Transactional
|
||||||
|
public class AdministratorManagementService {
|
||||||
|
|
||||||
|
private final AdministratorManagementQueryRepository queryRepository;
|
||||||
|
private final AdministratorRepository repository;
|
||||||
|
|
||||||
|
public List<AdministratorFind.Response> findAll() {
|
||||||
|
return queryRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public AdministratorFind.Response find(@NotBlank String loginId) {
|
||||||
|
return queryRepository.findByLoginId(loginId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AdministratorCreate.Response create(AdministratorCreate.Request request) {
|
||||||
|
Administrator admin = repository.save(
|
||||||
|
AdministratorCreateCommand.builder()
|
||||||
|
.loginId(request.getLoginId())
|
||||||
|
.password(request.getPassword())
|
||||||
|
.email(request.getEmail())
|
||||||
|
.name(request.getName())
|
||||||
|
.build()
|
||||||
|
.toEntity()
|
||||||
|
);
|
||||||
|
|
||||||
|
return AdministratorCreate.Response.success(admin.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
public AdministratorUpdate.Response update(AdministratorUpdate.Request request) {
|
||||||
|
Optional<Administrator> findAdministrator = repository.findById(request.getId());
|
||||||
|
if (findAdministrator.isEmpty()) {
|
||||||
|
return AdministratorUpdate.Response.fail("ADMINISTRATOR_NOT_FOUND");
|
||||||
|
}
|
||||||
|
|
||||||
|
Administrator administrator = findAdministrator.get();
|
||||||
|
administrator.update(
|
||||||
|
AdministratorUpdateCommand.of(
|
||||||
|
request.getId(),
|
||||||
|
request.getPassword(),
|
||||||
|
request.getEmail(),
|
||||||
|
request.getName()
|
||||||
|
).toEntity()
|
||||||
|
);
|
||||||
|
|
||||||
|
return AdministratorUpdate.Response.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
public AdministratorDelete.Response delete(AdministratorDelete.Request request) {
|
||||||
|
repository.deleteById(request.getId());
|
||||||
|
return AdministratorDelete.Response.success();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
package com.bpgroup.poc.admin.web.main.admin.management;
|
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.service.AdministratorCreateCommand;
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.service.AdministratorService;
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.service.AdministratorUpdateCommand;
|
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorCreate;
|
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorDelete;
|
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorFind;
|
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorUpdate;
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Transactional
|
|
||||||
public class AdministratorManagementWebService {
|
|
||||||
|
|
||||||
private final PasswordEncoder passwordEncoder;
|
|
||||||
|
|
||||||
private final AdministratorService administratorService;
|
|
||||||
private final AdministratorManagementQueryRepository administratorManagementQueryRepository;
|
|
||||||
|
|
||||||
public AdministratorCreate.Response create(AdministratorCreate.Request request) {
|
|
||||||
Long id = administratorService.create(AdministratorCreateCommand.of(
|
|
||||||
request.getLoginId(),
|
|
||||||
passwordEncoder.encode(request.getPassword()),
|
|
||||||
request.getEmail(),
|
|
||||||
request.getName()
|
|
||||||
));
|
|
||||||
|
|
||||||
return AdministratorCreate.Response.builder()
|
|
||||||
.id(id)
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
public AdministratorFind.Response find(@NotBlank String loginId) {
|
|
||||||
return administratorManagementQueryRepository.findByLoginId(loginId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void delete(AdministratorDelete.Request request) {
|
|
||||||
administratorService.delete(request.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void update(AdministratorUpdate.Request request) {
|
|
||||||
administratorService.update(AdministratorUpdateCommand.of(
|
|
||||||
request.getId(),
|
|
||||||
passwordEncoder.encode(request.getPassword()),
|
|
||||||
request.getEmail(),
|
|
||||||
request.getName()
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<AdministratorFind.Response> findAll() {
|
|
||||||
return administratorManagementQueryRepository.findAll();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
package com.bpgroup.poc.admin.web.main.admin.management.reqres;
|
package com.bpgroup.poc.admin.web.main.admin.management.reqres;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.web.common.CommonResponse;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
public class AdministratorDelete {
|
public class AdministratorDelete {
|
||||||
|
|
||||||
|
|
@ -11,4 +15,24 @@ public class AdministratorDelete {
|
||||||
private Long id;
|
private Long id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@ToString
|
||||||
|
public static class Response extends CommonResponse {
|
||||||
|
@Builder
|
||||||
|
public static AdministratorDelete.Response success() {
|
||||||
|
AdministratorDelete.Response response = new AdministratorDelete.Response();
|
||||||
|
response.resultCode = "0000";
|
||||||
|
response.resultMessage = "Success";
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Builder
|
||||||
|
public static AdministratorDelete.Response fail(String resultMessage) {
|
||||||
|
AdministratorDelete.Response response = new AdministratorDelete.Response();
|
||||||
|
response.resultCode = "9999";
|
||||||
|
response.resultMessage = resultMessage;
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
package com.bpgroup.poc.admin.web.main.admin.management.reqres;
|
package com.bpgroup.poc.admin.web.main.admin.management.reqres;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.web.common.CommonResponse;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
public class AdministratorUpdate {
|
public class AdministratorUpdate {
|
||||||
|
|
||||||
|
|
@ -24,4 +28,23 @@ public class AdministratorUpdate {
|
||||||
private String name;
|
private String name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@ToString
|
||||||
|
public static class Response extends CommonResponse {
|
||||||
|
@Builder
|
||||||
|
public static AdministratorUpdate.Response success() {
|
||||||
|
AdministratorUpdate.Response response = new AdministratorUpdate.Response();
|
||||||
|
response.resultCode = "0000";
|
||||||
|
response.resultMessage = "Success";
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Builder
|
||||||
|
public static AdministratorUpdate.Response fail(String resultMessage) {
|
||||||
|
AdministratorUpdate.Response response = new AdministratorUpdate.Response();
|
||||||
|
response.resultCode = "9999";
|
||||||
|
response.resultMessage = resultMessage;
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ package com.bpgroup.poc.admin.web.main.admin.role;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.RoleRepository;
|
import com.bpgroup.poc.admin.domain.admin.entity.RoleRepository;
|
||||||
import com.bpgroup.poc.admin.domain.admin.service.RoleCreateCommand;
|
import com.bpgroup.poc.admin.domain.admin.command.RoleCreateCommand;
|
||||||
import com.bpgroup.poc.admin.domain.admin.service.RoleUpdateCommand;
|
import com.bpgroup.poc.admin.domain.admin.command.RoleUpdateCommand;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleDelete;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleDelete;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleUpdate;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleUpdate;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,115 @@
|
||||||
|
package com.bpgroup.poc.admin.web.main.admin.administrator;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.command.AdministratorCreateCommand;
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.entity.Administrator;
|
||||||
|
import com.bpgroup.poc.admin.domain.admin.entity.AdministratorRepository;
|
||||||
|
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.AdministratorManagementQueryRepository;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.AdministratorManagementService;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorCreate;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorDelete;
|
||||||
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdministratorUpdate;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
@DisplayName("AdministratorService 테스트")
|
||||||
|
public class AdministratorServiceTest extends MariaDBTestEnv {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AdministratorManagementService service;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AdministratorRepository repository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AdministratorManagementQueryRepository queryRepository;
|
||||||
|
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() {
|
||||||
|
repository.deleteAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Administrator 등록 테스트")
|
||||||
|
@Test
|
||||||
|
public void createAdministratorTest() {
|
||||||
|
// given
|
||||||
|
AdministratorCreate.Request request = new AdministratorCreate.Request();
|
||||||
|
request.setLoginId("test");
|
||||||
|
request.setPassword("test");
|
||||||
|
request.setEmail("test");
|
||||||
|
request.setName("test");
|
||||||
|
|
||||||
|
// when
|
||||||
|
AdministratorCreate.Response response = service.create(request);
|
||||||
|
|
||||||
|
// then
|
||||||
|
assertThat(response.getResultCode()).isEqualTo("0000");
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Administrator 수정 테스트")
|
||||||
|
@Test
|
||||||
|
public void updateAdministratorTest() {
|
||||||
|
// given
|
||||||
|
Administrator administrator = repository.save(
|
||||||
|
AdministratorCreateCommand.builder()
|
||||||
|
.loginId("test")
|
||||||
|
.password("test")
|
||||||
|
.email("test")
|
||||||
|
.name("test")
|
||||||
|
.build()
|
||||||
|
.toEntity()
|
||||||
|
);
|
||||||
|
AdministratorUpdate.Request updateRequest = new AdministratorUpdate.Request();
|
||||||
|
updateRequest.setId(administrator.getId());
|
||||||
|
updateRequest.setPassword("test2");
|
||||||
|
updateRequest.setEmail("test2");
|
||||||
|
updateRequest.setName("test2");
|
||||||
|
|
||||||
|
// when
|
||||||
|
AdministratorUpdate.Response updateResponse = service.update(updateRequest);
|
||||||
|
|
||||||
|
// then
|
||||||
|
assertThat(updateResponse.getResultCode()).isEqualTo("0000");
|
||||||
|
|
||||||
|
flushAndClear();
|
||||||
|
Administrator findAdministrator = repository.findById(administrator.getId()).orElseThrow();
|
||||||
|
assertThat(findAdministrator.getPassword()).isEqualTo("test2");
|
||||||
|
assertThat(findAdministrator.getEmail()).isEqualTo("test2");
|
||||||
|
assertThat(findAdministrator.getName()).isEqualTo("test2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Administrator 삭제 테스트")
|
||||||
|
@Test
|
||||||
|
public void deleteAdministratorTest() {
|
||||||
|
// given
|
||||||
|
Administrator administrator = repository.save(
|
||||||
|
AdministratorCreateCommand.builder()
|
||||||
|
.loginId("test")
|
||||||
|
.password("test")
|
||||||
|
.email("test")
|
||||||
|
.name("test")
|
||||||
|
.build()
|
||||||
|
.toEntity()
|
||||||
|
);
|
||||||
|
|
||||||
|
AdministratorDelete.Request request = new AdministratorDelete.Request();
|
||||||
|
request.setId(administrator.getId());
|
||||||
|
|
||||||
|
// when
|
||||||
|
AdministratorDelete.Response deleteResponse = service.delete(request);
|
||||||
|
|
||||||
|
// then
|
||||||
|
assertThat(deleteResponse.getResultCode()).isEqualTo("0000");
|
||||||
|
|
||||||
|
flushAndClear();
|
||||||
|
assertThat(repository.findById(administrator.getId())).isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ package com.bpgroup.poc.admin.web.main.admin.role;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
import com.bpgroup.poc.admin.domain.admin.entity.Role;
|
||||||
import com.bpgroup.poc.admin.domain.admin.entity.RoleRepository;
|
import com.bpgroup.poc.admin.domain.admin.entity.RoleRepository;
|
||||||
import com.bpgroup.poc.admin.domain.admin.service.RoleCreateCommand;
|
import com.bpgroup.poc.admin.domain.admin.command.RoleCreateCommand;
|
||||||
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleDelete;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleDelete;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue