From ee2ff2d792cf52fcb2de308bdd1617a39079db74 Mon Sep 17 00:00:00 2001 From: 5uhwann <5uhwann27@gmail.com> Date: Mon, 11 Mar 2024 14:14:47 +0900 Subject: [PATCH 1/5] =?UTF-8?q?refactor:=20=EC=BD=94=EB=93=9C=20=EC=BB=A8?= =?UTF-8?q?=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9=20-=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=20=EB=84=A4=EC=9D=B4=EB=B0=8D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/api/token/TokenApiPresentation.java | 2 +- .../auth/api/token/TokenController.java | 4 ++-- .../auth/application/service/token/TokenService.java | 2 +- .../auth/application/usecase/token/TokenUseCase.java | 2 +- .../parsing/api/ParsingTextController.java | 4 ++-- .../service/ParsingTextHistoryService.java | 4 ++-- .../usecase/ParsingTextHistoryUseCase.java | 4 ++-- .../takenlecture/api/FindTakenLectureController.java | 2 +- .../api/UpdateTakenLectureController.java | 2 +- .../service/find/FindTakenLectureService.java | 2 +- .../service/update/UpdateTakenLectureService.java | 2 +- .../usecase/find/FindTakenLectureUseCase.java | 2 +- .../usecase/update/UpdateTakenLectureUseCase.java | 2 +- .../auth/api/token/TokenControllerTest.java | 4 ++-- .../application/service/token/TokenServiceTest.java | 6 +++--- .../parsing/api/ParsingTextControllerTest.java | 4 ++-- .../service/ParsingTextHistoryServiceTest.java | 12 ++++++------ .../api/find/FindTakenLectureControllerTest.java | 2 +- .../service/find/FindTakenLectureServiceTest.java | 6 +++--- .../update/UpdateTakenLectureServiceTest.java | 4 ++-- 20 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenApiPresentation.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenApiPresentation.java index 5e36c94a..186dff52 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenApiPresentation.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenApiPresentation.java @@ -12,5 +12,5 @@ @Tag(name = "Token", description = "토큰 발급 API") public interface TokenApiPresentation { - AccessTokenResponse newToken(@Valid @RequestBody TokenRequest tokenRequest); + AccessTokenResponse createNewToken(@Valid @RequestBody TokenRequest tokenRequest); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java index de62094b..ffb603f0 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java @@ -21,7 +21,7 @@ public class TokenController implements TokenApiPresentation { private final TokenUseCase tokenUseCase; @PostMapping("/token") - public AccessTokenResponse newToken(@Valid @RequestBody TokenRequest tokenRequest) { - return tokenUseCase.createNewToken(TokenRequest.toCommand(tokenRequest.getRefreshToken())); + public AccessTokenResponse createNewToken(@Valid @RequestBody TokenRequest tokenRequest) { + return tokenUseCase.generateNewToken(TokenRequest.toCommand(tokenRequest.getRefreshToken())); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java index 77ca2f16..985fc466 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java @@ -17,7 +17,7 @@ public class TokenService implements TokenUseCase { private final FindRefreshTokenPort findRefreshTokenPort; @Override - public AccessTokenResponse createNewToken(TokenCommand tokenCommand) { + public AccessTokenResponse generateNewToken(TokenCommand tokenCommand) { Long userId = findByRefreshToken(tokenCommand.getRefreshToken()); String accessToken = tokenProvider.generateToken(userId); return AccessTokenResponse.from(accessToken); diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java index 706b20e8..a1f1a0b1 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java @@ -3,5 +3,5 @@ import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.response.AccessTokenResponse; public interface TokenUseCase { - AccessTokenResponse createNewToken(TokenCommand tokenCommand); + AccessTokenResponse generateNewToken(TokenCommand tokenCommand); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java index c150dc8e..9bf846ca 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java @@ -28,9 +28,9 @@ public void enrollParsingText(@LoginUser Long userId, @Valid @RequestBody Parsin ParsingTextCommand command = parsingTextRequest.toCommand(userId); try { parsingTextUseCase.enrollParsingText(command); - parsingTextHistoryUseCase.saveParsingTextHistoryIfSuccess(command); + parsingTextHistoryUseCase.generateSucceedParsingTextHistory(command); } catch (Exception e) { - parsingTextHistoryUseCase.saveParsingTextHistoryIfFail(command); + parsingTextHistoryUseCase.generateFailedParsingTextHistory(command); throw e; } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java index c29c8695..1c821b33 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java @@ -23,14 +23,14 @@ class ParsingTextHistoryService implements ParsingTextHistoryUseCase { private final FindUserUseCase findUserUseCase; @Override - public void saveParsingTextHistoryIfSuccess(ParsingTextCommand parsingTextCommand) { + public void generateSucceedParsingTextHistory(ParsingTextCommand parsingTextCommand) { String parsingText = parsingTextCommand.getParsingText(); User user = findUserUseCase.findUserById(parsingTextCommand.getUserId()); saveParsingTextHistoryPort.saveParsingTextHistory(ParsingTextHistory.success(user, parsingText)); } @Override - public void saveParsingTextHistoryIfFail(ParsingTextCommand parsingTextCommand) { + public void generateFailedParsingTextHistory(ParsingTextCommand parsingTextCommand) { String parsingText = parsingTextCommand.getParsingText(); User user = findUserUseCase.findUserById(parsingTextCommand.getUserId()); saveParsingTextHistoryPort.saveParsingTextHistory(ParsingTextHistory.fail(user, parsingText)); diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java index 5c3f472b..50e7d9ad 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java @@ -1,7 +1,7 @@ package com.plzgraduate.myongjigraduatebe.parsing.application.usecase; public interface ParsingTextHistoryUseCase { - void saveParsingTextHistoryIfSuccess(ParsingTextCommand parsingTextCommand); + void generateSucceedParsingTextHistory(ParsingTextCommand parsingTextCommand); - void saveParsingTextHistoryIfFail(ParsingTextCommand parsingTextCommand); + void generateFailedParsingTextHistory(ParsingTextCommand parsingTextCommand); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java index e4d38f54..207f0597 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java @@ -19,6 +19,6 @@ public class FindTakenLectureController implements FindTakenLectureApiPresentati @GetMapping public FindTakenLectureResponse getTakenLectures(@LoginUser Long userId) { - return findTakenLectureUseCase.getTakenLectures(userId); + return findTakenLectureUseCase.findTakenLectures(userId); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java index a803ae75..df8b7b5c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java @@ -21,7 +21,7 @@ public class UpdateTakenLectureController implements UpdateTakenLectureApiPresen @PostMapping("/update") public void updateTakenLectures(@LoginUser Long userId, @Valid @RequestBody UpdateTakenLectureRequest updateTakenLectureRequest) { - updateTakenLectureUseCase.updateTakenLecture(updateTakenLectureRequest.toCommand(userId)); + updateTakenLectureUseCase.modifyTakenLecture(updateTakenLectureRequest.toCommand(userId)); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java index 97346844..b4e51d0c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java @@ -28,7 +28,7 @@ class FindTakenLectureService implements FindTakenLectureUseCase { private final FindTakenLecturePort findTakenLecturePort; @Override - public FindTakenLectureResponse getTakenLectures(Long userId) { + public FindTakenLectureResponse findTakenLectures(Long userId) { User user = findUserUseCase.findUserById(userId); List takenLectures = findTakenLecturePort.findTakenLecturesByUser(user); sortTakenLectures(takenLectures); diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java index b67cd397..95de67d5 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java @@ -29,7 +29,7 @@ class UpdateTakenLectureService implements UpdateTakenLectureUseCase { private final SaveTakenLecturePort saveTakenLecturePort; @Override - public void updateTakenLecture(UpdateTakenLectureCommand updateTakenLectureCommand) { + public void modifyTakenLecture(UpdateTakenLectureCommand updateTakenLectureCommand) { Long userId = updateTakenLectureCommand.getUserId(); User user = findUserUseCase.findUserById(userId); deleteTakenLectures(updateTakenLectureCommand); diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java index c161479b..e97f2efb 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java @@ -1,5 +1,5 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find; public interface FindTakenLectureUseCase { - FindTakenLectureResponse getTakenLectures(Long userId); + FindTakenLectureResponse findTakenLectures(Long userId); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java index f8168c7c..90445b5a 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java @@ -2,5 +2,5 @@ public interface UpdateTakenLectureUseCase { - void updateTakenLecture(UpdateTakenLectureCommand updateTakenLectureCommand); + void modifyTakenLecture(UpdateTakenLectureCommand updateTakenLectureCommand); } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenControllerTest.java index 4b7262b0..4ca57e14 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenControllerTest.java @@ -32,7 +32,7 @@ void newToken() throws Exception { AccessTokenResponse response = AccessTokenResponse.builder() .accessToken(accessToken) .build(); - given(tokenUseCase.createNewToken(any())).willReturn(response); + given(tokenUseCase.generateNewToken(any())).willReturn(response); //when //then mockMvc.perform( post("/api/v1/auth/token") @@ -53,7 +53,7 @@ void invalidRefreshToken() throws Exception { TokenRequest request = TokenRequest.builder() .refreshToken(refreshToken) .build(); - given(tokenUseCase.createNewToken(any())).willThrow( + given(tokenUseCase.generateNewToken(any())).willThrow( new IllegalArgumentException("유효하지 않은 토큰입니다.")); //when //then diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java index 2040d83a..667f2fbc 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java @@ -32,7 +32,7 @@ class TokenServiceTest { @DisplayName("accessToken을 생성한다.") @Test - void createNewToken() { + void generateNewToken() { //given Long userId = 1L; String refreshToken = "refreshToken"; @@ -44,7 +44,7 @@ void createNewToken() { given(tokenProvider.generateToken(userId)).willReturn(accessToken); //when - AccessTokenResponse accessTokenResponse = tokenService.createNewToken(command); + AccessTokenResponse accessTokenResponse = tokenService.generateNewToken(command); //then assertThat(accessTokenResponse.getAccessToken()).isEqualTo(accessToken); @@ -61,7 +61,7 @@ void illegalArgumentExceptionIfInvalidToken() { given(findRefreshTokenPort.findByRefreshToken(refreshToken)).willReturn(Optional.empty()); //when - assertThatThrownBy(() -> tokenService.createNewToken(command)) + assertThatThrownBy(() -> tokenService.generateNewToken(command)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("유효하지 않은 토큰입니다."); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java index 12c7830f..c59b2cd3 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java @@ -46,7 +46,7 @@ void enrollParsingText() throws Exception { .andExpect(status().isOk()); then(parsingTextUseCase).should().enrollParsingText(any(ParsingTextCommand.class)); - then(parsingTextHistoryUseCase).should().saveParsingTextHistoryIfSuccess(any(ParsingTextCommand.class)); + then(parsingTextHistoryUseCase).should().generateSucceedParsingTextHistory(any(ParsingTextCommand.class)); } @@ -77,7 +77,7 @@ void failToEnrollParsingText() throws Exception { .andExpect(jsonPath("$.status").value(400)) .andExpect(jsonPath("$.message").value("")); - then(parsingTextHistoryUseCase).should().saveParsingTextHistoryIfFail(any(ParsingTextCommand.class)); + then(parsingTextHistoryUseCase).should().generateFailedParsingTextHistory(any(ParsingTextCommand.class)); } } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java index e0b80f67..841af0d9 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java @@ -28,9 +28,9 @@ class ParsingTextHistoryServiceTest { @InjectMocks private ParsingTextHistoryService parsingTextHistoryService; - @DisplayName("saveParsingTextHistoryIfSuccess 메서드 테스트") + @DisplayName("generateSucceedParsingTextHistory 메서드 테스트") @Test - void saveParsingTextHistoryIfSuccess() { + void generateSucceedParsingTextHistory() { //given Long userId = 1L; User user = createUser(userId, "mju1001!", "1q2w3e4r!", EnglishLevel.ENG12, "정지환", @@ -43,7 +43,7 @@ void saveParsingTextHistoryIfSuccess() { given(findUserUseCase.findUserById(userId)).willReturn(user); ArgumentCaptor captor = ArgumentCaptor.forClass(ParsingTextHistory.class); //when - parsingTextHistoryService.saveParsingTextHistoryIfSuccess(command); + parsingTextHistoryService.generateSucceedParsingTextHistory(command); //then then(saveParsingTextHistoryPort).should().saveParsingTextHistory(captor.capture()); @@ -52,9 +52,9 @@ void saveParsingTextHistoryIfSuccess() { assertThat(captureArgument.getParsingText()).isEqualTo(parsingText); } - @DisplayName("saveParsingTextHistoryIfFail 메서드 테스트") + @DisplayName("generateFailedParsingTextHistory 메서드 테스트") @Test - void saveParsingTextHistoryIfFail() { + void generateFailedParsingTextHistory() { //given Long userId = 1L; User user = createUser(userId, "mju1001!", "1q2w3e4r!", EnglishLevel.ENG12, "정지환", @@ -67,7 +67,7 @@ void saveParsingTextHistoryIfFail() { given(findUserUseCase.findUserById(userId)).willReturn(user); ArgumentCaptor captor = ArgumentCaptor.forClass(ParsingTextHistory.class); //when - parsingTextHistoryService.saveParsingTextHistoryIfFail(command); + parsingTextHistoryService.generateFailedParsingTextHistory(command); //then then(saveParsingTextHistoryPort).should().saveParsingTextHistory(captor.capture()); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java index e8deecd2..19b5640e 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java @@ -30,7 +30,7 @@ void getTakenLectures() throws Exception { .totalCredit(10) .takenLectures(takenLectures) .build(); - given(findTakenLectureUseCase.getTakenLectures(anyLong())).willReturn(response); + given(findTakenLectureUseCase.findTakenLectures(anyLong())).willReturn(response); //when //when mockMvc.perform( diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java index 742de4cd..896d8347 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java @@ -34,7 +34,7 @@ class FindTakenLectureServiceTest { @DisplayName("해당 학생의 수강정보를 조회하고 정렬한다.") @Test - void getTakenLectures() { + void findTakenLectures() { //given User user = User.builder().id(1L).build(); Lecture 채플 = createLecture(1L, "KMA02101", "채플", 0); @@ -63,7 +63,7 @@ void getTakenLectures() { given(findTakenLecturePort.findTakenLecturesByUser(any(User.class))).willReturn(takenLectures); //when - FindTakenLectureResponse response = findTakenLectureService.getTakenLectures(1L); + FindTakenLectureResponse response = findTakenLectureService.findTakenLectures(1L); //then assertThat(response.getTotalCredit()).isEqualTo(15); @@ -115,7 +115,7 @@ void addTwoPointIfChapelCountIsOver4() { given(findTakenLecturePort.findTakenLecturesByUser(any(User.class))).willReturn(takenLectures); //when - FindTakenLectureResponse response = findTakenLectureService.getTakenLectures(1L); + FindTakenLectureResponse response = findTakenLectureService.findTakenLectures(1L); //then assertThat(response.getTotalCredit()).isEqualTo(17); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java index 09a27805..5cdeb7d3 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java @@ -38,7 +38,7 @@ class UpdateTakenLectureServiceTest { @DisplayName("수강과목을 삭제하고 새로운 수강정보를 추가한다.") @Test - void updateTakenLecture() { + void modifyTakenLecture() { //given UpdateTakenLectureCommand command = UpdateTakenLectureCommand.builder() .userId(1L) @@ -53,7 +53,7 @@ void updateTakenLecture() { ArgumentCaptor> takenLectureListCaptor = ArgumentCaptor.forClass(List.class); //when - updateTakenLectureService.updateTakenLecture(command); + updateTakenLectureService.modifyTakenLecture(command); //then then(deleteTakenLecturePort).should().deleteTakenLecturesByIds(List.of(21L, 22L)); From 367d212f5ae2a060a7598119965a56324b97373f Mon Sep 17 00:00:00 2001 From: 5uhwann <5uhwann27@gmail.com> Date: Mon, 11 Mar 2024 19:05:07 +0900 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=EC=BD=94=EB=93=9C=20=EC=BB=A8?= =?UTF-8?q?=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9=20request=20dto=20?= =?UTF-8?q?=ED=98=95=EC=8B=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/api/signin/SignInController.java | 2 +- .../api/signin/dto/request/SignInRequest.java | 9 ---- .../auth/api/token/TokenController.java | 2 +- .../api/token/dto/request/TokenRequest.java | 7 --- .../service/signin/SignInService.java | 11 ++-- .../service/token/TokenService.java | 7 ++- .../usecase/signin/SignInCommand.java | 20 -------- .../usecase/signin/SignInUseCase.java | 2 +- .../usecase/token/TokenCommand.java | 16 ------ .../usecase/token/TokenUseCase.java | 2 +- .../lecture/api/SearchLectureController.java | 3 +- .../service/FindLecturesByIdService.java | 1 + .../service/SearchLectureService.java | 9 ++-- .../usecase/SearchLectureCommand.java | 24 --------- .../usecase/SearchLectureUseCase.java | 2 +- .../parsing/api/ParsingTextController.java | 8 ++- .../api/dto/request/ParsingTextRequest.java | 8 --- .../service/ParsingTextHistoryService.java | 13 ++--- .../service/ParsingTextService.java | 27 +++++----- .../usecase/ParsingTextCommand.java | 19 ------- .../usecase/ParsingTextHistoryUseCase.java | 4 +- .../usecase/ParsingTextUseCase.java | 2 +- .../api/FindTakenLectureApiPresentation.java | 2 +- .../api/FindTakenLectureController.java | 2 +- .../api/UpdateTakenLectureController.java | 6 ++- .../request/UpdateTakenLectureRequest.java | 9 ---- .../response}/FindTakenLectureResponse.java | 2 +- .../dto/response}/TakenLectureResponse.java | 2 +- .../service/find/FindTakenLectureService.java | 4 +- ...aveTakenLectureFromParsingTextService.java | 24 ++++----- .../update/UpdateTakenLectureService.java | 18 ++----- .../usecase/find/FindTakenLectureUseCase.java | 2 + .../usecase/save/SaveTakenLectureCommand.java | 50 ------------------- ...aveTakenLectureFromParsingTextUseCase.java | 7 ++- .../update/UpdateTakenLectureCommand.java | 22 -------- .../update/UpdateTakenLectureUseCase.java | 6 ++- .../domain/model/TakenLectureInformation.java | 27 ++++++++++ .../ResetPasswordApiPresentation.java | 1 + .../ResetPasswordController.java | 4 +- .../request}/ResetPasswordRequest.java | 10 +--- .../api/signup/SignUpApiPresentation.java | 1 + .../user/api/signup/SignUpController.java | 1 + .../{ => dto/request}/SignUpRequest.java | 2 +- .../api/withdraw/WithDrawApiPresentation.java | 1 + .../user/api/withdraw/WithDrawController.java | 3 +- .../{ => dto/request}/WithDrawRequest.java | 7 +-- .../resetpassword/ResetPasswordService.java | 15 +++--- .../service/withdraw/WithDrawUserService.java | 7 ++- .../resetpassword/ResetPasswordCommand.java | 23 --------- .../resetpassword/ResetPasswordUseCase.java | 2 +- .../usecase/withdraw/WithDrawCommand.java | 15 ------ .../usecase/withdraw/WithDrawUserUseCase.java | 2 +- .../auth/api/signin/SignInControllerTest.java | 2 +- .../service/signin/SignInServiceTest.java | 9 ++-- .../service/token/TokenServiceTest.java | 19 +++---- .../api/SearchLectureControllerTest.java | 4 +- .../search/SearchLectureServiceTest.java | 15 +++--- .../api/ParsingTextControllerTest.java | 9 ++-- .../ParsingTextHistoryServiceTest.java | 18 ++----- .../service/ParsingTextServiceTest.java | 49 ++++++------------ .../find/FindTakenLectureControllerTest.java | 4 +- .../find/FindTakenLectureServiceTest.java | 2 +- ...akenLectureFromParsingTextServiceTest.java | 44 +++++++--------- .../update/UpdateTakenLectureServiceTest.java | 14 ++---- .../ResetPasswordControllerTest.java | 2 +- .../user/api/signup/SignUpControllerTest.java | 2 +- .../api/withdraw/WithDrawControllerTest.java | 5 +- .../ResetPasswordServiceTest.java | 43 ++++++++-------- .../withdraw/WithDrawUserServiceTest.java | 15 ++---- 69 files changed, 230 insertions(+), 501 deletions(-) delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInCommand.java delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenCommand.java delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureCommand.java delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextCommand.java rename src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/{application/usecase/find => api/dto/response}/FindTakenLectureResponse.java (90%) rename src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/{application/usecase/find => api/dto/response}/TakenLectureResponse.java (94%) delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureCommand.java delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureCommand.java create mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInformation.java rename src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/{ => dto/request}/ResetPasswordRequest.java (82%) rename src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/{ => dto/request}/SignUpRequest.java (96%) rename src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/{ => dto/request}/WithDrawRequest.java (63%) delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordCommand.java delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawCommand.java diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInController.java index 811b9c46..191e97ce 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInController.java @@ -24,7 +24,7 @@ public class SignInController implements SignInApiPresentation { @PostMapping("/sign-in") public TokenResponse signIn(@Valid @RequestBody SignInRequest signInRequest) { - return signInUseCase.signIn(signInRequest.toCommand()); + return signInUseCase.signIn(signInRequest.getAuthId(), signInRequest.getPassword()); } @GetMapping("/check-login") diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/dto/request/SignInRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/dto/request/SignInRequest.java index ec85c1ae..5f597428 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/dto/request/SignInRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/dto/request/SignInRequest.java @@ -2,8 +2,6 @@ import javax.validation.constraints.NotBlank; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.signin.SignInCommand; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; @@ -27,11 +25,4 @@ private SignInRequest(String authId, String password) { this.password = password; } - public SignInCommand toCommand() { - return SignInCommand - .builder() - .authId(authId) - .password(password) - .build(); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java index ffb603f0..04ad4a27 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/TokenController.java @@ -22,6 +22,6 @@ public class TokenController implements TokenApiPresentation { @PostMapping("/token") public AccessTokenResponse createNewToken(@Valid @RequestBody TokenRequest tokenRequest) { - return tokenUseCase.generateNewToken(TokenRequest.toCommand(tokenRequest.getRefreshToken())); + return tokenUseCase.generateNewToken(tokenRequest.getRefreshToken()); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/dto/request/TokenRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/dto/request/TokenRequest.java index ddb0a7b7..746a087b 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/dto/request/TokenRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/api/token/dto/request/TokenRequest.java @@ -2,8 +2,6 @@ import javax.validation.constraints.NotBlank; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.token.TokenCommand; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; @@ -22,9 +20,4 @@ private TokenRequest(String refreshToken) { this.refreshToken = refreshToken; } - public static TokenCommand toCommand(String refreshToken) { - return TokenCommand.builder() - .refreshToken(refreshToken) - .build(); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInService.java index a45ee6e4..05c77410 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInService.java @@ -5,10 +5,9 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.transaction.annotation.Transactional; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.signin.SignInUseCase; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.signin.SignInCommand; import com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.response.TokenResponse; import com.plzgraduate.myongjigraduatebe.auth.application.port.SaveRefreshTokenPort; +import com.plzgraduate.myongjigraduatebe.auth.application.usecase.signin.SignInUseCase; import com.plzgraduate.myongjigraduatebe.auth.security.JwtAuthenticationToken; import com.plzgraduate.myongjigraduatebe.auth.security.TokenProvider; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; @@ -25,8 +24,8 @@ class SignInService implements SignInUseCase { private final SaveRefreshTokenPort saveRefreshTokenPort; @Override - public TokenResponse signIn(SignInCommand signInCommand) { - Authentication authentication = authenticateCommand(signInCommand); + public TokenResponse signIn(String authId, String password) { + Authentication authentication = authenticateCommand(authId, password); Long userId = (Long) authentication.getPrincipal(); String accessToken = tokenProvider.generateToken(userId); String refreshToken = tokenProvider.generateRefreshToken(); @@ -34,9 +33,9 @@ public TokenResponse signIn(SignInCommand signInCommand) { return TokenResponse.from(accessToken, refreshToken); } - private Authentication authenticateCommand(SignInCommand signInCommand) { + private Authentication authenticateCommand(String authId, String password) { JwtAuthenticationToken authenticationToken = - new JwtAuthenticationToken(signInCommand.getAuthId(), signInCommand.getPassword()); + new JwtAuthenticationToken(authId, password); Authentication authentication = authenticationManager.authenticate(authenticationToken); SecurityContextHolder.getContext().setAuthentication(authentication); return authentication; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java index 985fc466..fb17e6d0 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenService.java @@ -1,9 +1,8 @@ package com.plzgraduate.myongjigraduatebe.auth.application.service.token; import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.response.AccessTokenResponse; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.token.TokenCommand; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.token.TokenUseCase; import com.plzgraduate.myongjigraduatebe.auth.application.port.FindRefreshTokenPort; +import com.plzgraduate.myongjigraduatebe.auth.application.usecase.token.TokenUseCase; import com.plzgraduate.myongjigraduatebe.auth.security.TokenProvider; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; @@ -17,8 +16,8 @@ public class TokenService implements TokenUseCase { private final FindRefreshTokenPort findRefreshTokenPort; @Override - public AccessTokenResponse generateNewToken(TokenCommand tokenCommand) { - Long userId = findByRefreshToken(tokenCommand.getRefreshToken()); + public AccessTokenResponse generateNewToken(String refreshToken) { + Long userId = findByRefreshToken(refreshToken); String accessToken = tokenProvider.generateToken(userId); return AccessTokenResponse.from(accessToken); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInCommand.java deleted file mode 100644 index 82bb5888..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInCommand.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.auth.application.usecase.signin; - -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Getter -@NoArgsConstructor -public class SignInCommand { - private String authId; - - private String password; - - @Builder - private SignInCommand(String authId, String password) { - this.authId = authId; - this.password = password; - } - -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInUseCase.java index ddc54c08..7050eedc 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/signin/SignInUseCase.java @@ -3,5 +3,5 @@ import com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.response.TokenResponse; public interface SignInUseCase { - TokenResponse signIn(SignInCommand signInCommand); + TokenResponse signIn(String authId, String password); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenCommand.java deleted file mode 100644 index 7f76ae59..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenCommand.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.auth.application.usecase.token; - -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Getter -public class TokenCommand { - private final String refreshToken; - - @Builder - private TokenCommand(String refreshToken) { - this.refreshToken = refreshToken; - } - -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java index a1f1a0b1..547d5576 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/auth/application/usecase/token/TokenUseCase.java @@ -3,5 +3,5 @@ import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.response.AccessTokenResponse; public interface TokenUseCase { - AccessTokenResponse generateNewToken(TokenCommand tokenCommand); + AccessTokenResponse generateNewToken(String refreshToken); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java index 49784bcf..2ce5edbe 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java @@ -8,7 +8,6 @@ import org.springframework.web.bind.annotation.RequestParam; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureCommand; import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureUseCase; @@ -27,6 +26,6 @@ public SearchLectureResponse searchLecture( @RequestParam(defaultValue = "name") String type, @RequestParam @Size(min = 2, message = "검색어를 2자리 이상 입력해주세요.") String keyword ) { - return searchLectureUseCase.searchLectures(SearchLectureCommand.toCommand(type, keyword)); + return searchLectureUseCase.searchLectures(type, keyword); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java index 7be10690..b0221d5c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java @@ -14,6 +14,7 @@ @UseCase @Transactional(readOnly = true) @RequiredArgsConstructor +// FindLecturesByLectureCodeService와 통합하는게 나아보임 public class FindLecturesByIdService implements FindLecturesByIdUseCase { private final FindLecturePort findLecturePort; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java index 2e9d014a..b962b792 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java @@ -4,11 +4,10 @@ import java.util.stream.Collectors; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureCommand; import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.LectureResponse; import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureUseCase; import com.plzgraduate.myongjigraduatebe.lecture.application.port.SearchLecturePort; +import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import lombok.RequiredArgsConstructor; @@ -18,10 +17,10 @@ public class SearchLectureService implements SearchLectureUseCase { private final SearchLecturePort searchLecturePort; + @Override - public SearchLectureResponse searchLectures(SearchLectureCommand searchLectureCommand) { - List lectures = searchLecturePort.searchLectureByNameOrCode( - searchLectureCommand.getType(), searchLectureCommand.getKeyword()); + public SearchLectureResponse searchLectures(String type, String keyword) { + List lectures = searchLecturePort.searchLectureByNameOrCode(type, keyword); return SearchLectureResponse.from(lectures.stream().map(LectureResponse::of).collect(Collectors.toList())); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureCommand.java deleted file mode 100644 index 72930fa9..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureCommand.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.lecture.application.usecase; - -import lombok.Builder; -import lombok.Getter; - -@Getter -public class SearchLectureCommand { - private final String type; - private final String keyword; - - @Builder - private SearchLectureCommand(String type, String keyword) { - this.type = type; - this.keyword = keyword; - } - - public static SearchLectureCommand toCommand(String type, String keyword) { - return SearchLectureCommand.builder() - .type(type) - .keyword(keyword) - .build(); - } - -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java index 7f763d03..52b991dd 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java @@ -3,5 +3,5 @@ import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; public interface SearchLectureUseCase { - SearchLectureResponse searchLectures(SearchLectureCommand searchLectureCommand); + SearchLectureResponse searchLectures(String type, String keyword); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java index 9bf846ca..2af6d648 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextController.java @@ -9,7 +9,6 @@ import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; import com.plzgraduate.myongjigraduatebe.parsing.api.dto.request.ParsingTextRequest; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextHistoryUseCase; import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextUseCase; @@ -25,12 +24,11 @@ public class ParsingTextController implements ParsingTextApiPresentation{ @PostMapping public void enrollParsingText(@LoginUser Long userId, @Valid @RequestBody ParsingTextRequest parsingTextRequest) { - ParsingTextCommand command = parsingTextRequest.toCommand(userId); try { - parsingTextUseCase.enrollParsingText(command); - parsingTextHistoryUseCase.generateSucceedParsingTextHistory(command); + parsingTextUseCase.enrollParsingText(userId, parsingTextRequest.getParsingText()); + parsingTextHistoryUseCase.generateSucceedParsingTextHistory(userId, parsingTextRequest.getParsingText()); } catch (Exception e) { - parsingTextHistoryUseCase.generateFailedParsingTextHistory(command); + parsingTextHistoryUseCase.generateFailedParsingTextHistory(userId, parsingTextRequest.getParsingText()); throw e; } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/dto/request/ParsingTextRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/dto/request/ParsingTextRequest.java index 19a6f844..1f0ccbbe 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/dto/request/ParsingTextRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/api/dto/request/ParsingTextRequest.java @@ -2,8 +2,6 @@ import javax.validation.constraints.NotNull; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; @@ -22,10 +20,4 @@ private ParsingTextRequest(String parsingText) { this.parsingText = parsingText; } - public ParsingTextCommand toCommand(Long userId) { - return ParsingTextCommand.builder() - .userId(userId) - .parsingText(parsingText) - .build(); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java index 1c821b33..75f69cde 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryService.java @@ -3,9 +3,8 @@ import org.springframework.transaction.annotation.Transactional; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextHistoryUseCase; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; import com.plzgraduate.myongjigraduatebe.parsing.application.port.SaveParsingTextHistoryPort; +import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextHistoryUseCase; import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingTextHistory; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @@ -23,16 +22,14 @@ class ParsingTextHistoryService implements ParsingTextHistoryUseCase { private final FindUserUseCase findUserUseCase; @Override - public void generateSucceedParsingTextHistory(ParsingTextCommand parsingTextCommand) { - String parsingText = parsingTextCommand.getParsingText(); - User user = findUserUseCase.findUserById(parsingTextCommand.getUserId()); + public void generateSucceedParsingTextHistory(Long userId, String parsingText) { + User user = findUserUseCase.findUserById(userId); saveParsingTextHistoryPort.saveParsingTextHistory(ParsingTextHistory.success(user, parsingText)); } @Override - public void generateFailedParsingTextHistory(ParsingTextCommand parsingTextCommand) { - String parsingText = parsingTextCommand.getParsingText(); - User user = findUserUseCase.findUserById(parsingTextCommand.getUserId()); + public void generateFailedParsingTextHistory(Long userId, String parsingText) { + User user = findUserUseCase.findUserById(userId); saveParsingTextHistoryPort.saveParsingTextHistory(ParsingTextHistory.fail(user, parsingText)); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextService.java index edad5088..025ac025 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextService.java @@ -1,6 +1,8 @@ package com.plzgraduate.myongjigraduatebe.parsing.application.service; -import static com.plzgraduate.myongjigraduatebe.user.domain.model.StudentCategory.*; +import static com.plzgraduate.myongjigraduatebe.user.domain.model.StudentCategory.CHANGE_MAJOR; +import static com.plzgraduate.myongjigraduatebe.user.domain.model.StudentCategory.NORMAL; +import static com.plzgraduate.myongjigraduatebe.user.domain.model.StudentCategory.SUB_MAJOR; import java.util.List; import java.util.stream.Collectors; @@ -11,15 +13,14 @@ import com.plzgraduate.myongjigraduatebe.core.exception.PdfParsingException; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextUseCase; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingInformation; import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingTakenLectureDto; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.delete.DeleteTakenLectureByUserUseCase; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureCommand; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureFromParsingTextUseCase; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInformation; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.update.UpdateStudentInformationUseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.update.UpdateStudentInformationCommand; +import com.plzgraduate.myongjigraduatebe.user.application.usecase.update.UpdateStudentInformationUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -37,9 +38,8 @@ class ParsingTextService implements ParsingTextUseCase { private final DeleteTakenLectureByUserUseCase deleteTakenLectureByUserUseCase; @Override - public void enrollParsingText(ParsingTextCommand parsingTextCommand) { - String parsingText = parsingTextCommand.getParsingText(); - User user = findUserUseCase.findUserById(parsingTextCommand.getUserId()); + public void enrollParsingText(Long userId, String parsingText) { + User user = findUserUseCase.findUserById(userId); try { validateParsingText(parsingText); ParsingInformation parsingInformation = ParsingInformation.parsing(parsingText); @@ -61,9 +61,9 @@ private void deleteTakenLecturesIfAlreadyEnrolled(User user) { private void saveTakenLectures(User user, ParsingInformation parsingInformation) { List parsingTakenLectureDtoList = parsingInformation.getTakenLectureInformation(); - SaveTakenLectureCommand saveTakenLectureCommand = getSaveTakenLectureCommand( - user, parsingTakenLectureDtoList); - saveTakenLectureFromParsingTextUseCase.saveTakenLectures(saveTakenLectureCommand); + List saveTakenLectureCommand = getSaveTakenLectureCommand(user, + parsingTakenLectureDtoList); + saveTakenLectureFromParsingTextUseCase.saveTakenLectures(user, saveTakenLectureCommand); } private void updateUser(User user, ParsingInformation parsingInformation) { @@ -86,17 +86,16 @@ private void validateStudentNumber(User user, ParsingInformation parsingInformat } } - private SaveTakenLectureCommand getSaveTakenLectureCommand(User user, + private List getSaveTakenLectureCommand(User user, List parsingTakenLectureDtoList) { - List takenLectureInformationList = parsingTakenLectureDtoList.stream() + return parsingTakenLectureDtoList.stream() .map(parsingTakenLectureDto -> - SaveTakenLectureCommand.createTakenLectureInformation( + TakenLectureInformation.createTakenLectureInformation( parsingTakenLectureDto.getLectureCode(), parsingTakenLectureDto.getYear(), parsingTakenLectureDto.getSemester()) ) .collect(Collectors.toList()); - return SaveTakenLectureCommand.of(user, takenLectureInformationList); } private void checkIfNormal(ParsingInformation parsingInformation) { diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextCommand.java deleted file mode 100644 index 0d1a1d65..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextCommand.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.parsing.application.usecase; - -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Getter -@NoArgsConstructor -public class ParsingTextCommand { - private Long userId; - - private String parsingText; - - @Builder - private ParsingTextCommand(Long userId, String parsingText) { - this.userId = userId; - this.parsingText = parsingText; - } -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java index 50e7d9ad..d7c3b6d2 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextHistoryUseCase.java @@ -1,7 +1,7 @@ package com.plzgraduate.myongjigraduatebe.parsing.application.usecase; public interface ParsingTextHistoryUseCase { - void generateSucceedParsingTextHistory(ParsingTextCommand parsingTextCommand); + void generateSucceedParsingTextHistory(Long userId, String parsingText); - void generateFailedParsingTextHistory(ParsingTextCommand parsingTextCommand); + void generateFailedParsingTextHistory(Long userId, String parsingText); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextUseCase.java index ace543ae..08eda245 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/parsing/application/usecase/ParsingTextUseCase.java @@ -2,5 +2,5 @@ public interface ParsingTextUseCase { - void enrollParsingText(ParsingTextCommand parsingTextCommand); + void enrollParsingText(Long userId, String parsingText); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureApiPresentation.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureApiPresentation.java index 211fc285..a14e7cc6 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureApiPresentation.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureApiPresentation.java @@ -1,7 +1,7 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.api; import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java index 207f0597..ef6bc20c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java @@ -6,7 +6,7 @@ import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureUseCase; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java index df8b7b5c..9c78b296 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/UpdateTakenLectureController.java @@ -20,8 +20,10 @@ public class UpdateTakenLectureController implements UpdateTakenLectureApiPresen private final UpdateTakenLectureUseCase updateTakenLectureUseCase; @PostMapping("/update") - public void updateTakenLectures(@LoginUser Long userId, @Valid @RequestBody UpdateTakenLectureRequest updateTakenLectureRequest) { - updateTakenLectureUseCase.modifyTakenLecture(updateTakenLectureRequest.toCommand(userId)); + public void updateTakenLectures(@LoginUser Long userId, + @Valid @RequestBody UpdateTakenLectureRequest updateTakenLectureRequest) { + updateTakenLectureUseCase.modifyTakenLecture(userId, updateTakenLectureRequest.getDeletedTakenLectures(), + updateTakenLectureRequest.getAddedTakenLectures()); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/request/UpdateTakenLectureRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/request/UpdateTakenLectureRequest.java index aeac016d..0836bf63 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/request/UpdateTakenLectureRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/request/UpdateTakenLectureRequest.java @@ -2,8 +2,6 @@ import java.util.List; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update.UpdateTakenLectureCommand; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; @@ -25,11 +23,4 @@ private UpdateTakenLectureRequest(List deletedTakenLectures, List ad this.addedTakenLectures = addedTakenLectures; } - public UpdateTakenLectureCommand toCommand(Long userId) { - return UpdateTakenLectureCommand.builder() - .userId(userId) - .deletedTakenLectures(deletedTakenLectures) - .addedTakenLectures(addedTakenLectures) - .build(); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureResponse.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java similarity index 90% rename from src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureResponse.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java index ee6fea4d..b75a4cf5 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureResponse.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java @@ -1,4 +1,4 @@ -package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find; +package com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response; import java.util.List; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/TakenLectureResponse.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/TakenLectureResponse.java similarity index 94% rename from src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/TakenLectureResponse.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/TakenLectureResponse.java index bdc28d17..3413bf26 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/TakenLectureResponse.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/TakenLectureResponse.java @@ -1,4 +1,4 @@ -package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find; +package com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java index b4e51d0c..1f8092d9 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java @@ -9,8 +9,8 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureUseCase; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureResponse; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.TakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.TakenLectureResponse; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.FindTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java index 3b979aab..37e4ac9b 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java @@ -11,10 +11,10 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByLectureCodeUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureCommand; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureFromParsingTextUseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; +import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureFromParsingTextUseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInformation; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -28,34 +28,34 @@ class SaveTakenLectureFromParsingTextService implements SaveTakenLectureFromPars private final FindLecturesByLectureCodeUseCase findLecturesByLectureCodeUseCase; @Override - public void saveTakenLectures(SaveTakenLectureCommand saveTakenLectureCommand){ - User user = saveTakenLectureCommand.getUser(); - List takenLectureInformationList = saveTakenLectureCommand.getTakenLectureInformationList(); + public void saveTakenLectures(User user, List takenLectureInformationList) { Map lectureMap = makeLectureMapByLectureCodes(takenLectureInformationList); List takenLectures = makeTakenLectures(user, takenLectureInformationList, lectureMap); saveTakenLecturePort.saveTakenLectures(takenLectures); } - private List makeTakenLectures(User user, - List takenLectureInformationList, + private List makeTakenLectures(User user, List takenLectureInformationList, Map lectureMap) { return takenLectureInformationList.stream().map( takenLectureInformation -> { Lecture lecture = getLectureFromLectureMap(lectureMap, takenLectureInformation); - return TakenLecture.of(user, lecture, takenLectureInformation.getYear(), takenLectureInformation.getSemester()); + return TakenLecture.of(user, lecture, takenLectureInformation.getYear(), + takenLectureInformation.getSemester()); } ).collect(Collectors.toList()); } private Lecture getLectureFromLectureMap(Map lectureMap, - SaveTakenLectureCommand.TakenLectureInformation takenLectureInformation) { + TakenLectureInformation takenLectureInformation) { return Optional.ofNullable(lectureMap.get(takenLectureInformation.getLectureCode())) - .orElseThrow(() -> new IllegalArgumentException(takenLectureInformation.getLectureCode() + "이 데이터베이스에 존재하지 않습니다.")); + .orElseThrow( + () -> new IllegalArgumentException(takenLectureInformation.getLectureCode() + "이 데이터베이스에 존재하지 않습니다.")); } - private Map makeLectureMapByLectureCodes(List takenLectureInformationList) { + private Map makeLectureMapByLectureCodes( + List takenLectureInformationList) { List lectureCodes = takenLectureInformationList.stream() - .map(SaveTakenLectureCommand.TakenLectureInformation::getLectureCode) + .map(TakenLectureInformation::getLectureCode) .collect(Collectors.toList()); List lectures = findLecturesByLectureCodeUseCase.findLecturesByLectureCodes(lectureCodes); return lectures.stream() diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java index 95de67d5..ceee9b2a 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java @@ -8,7 +8,6 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByIdUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update.UpdateTakenLectureCommand; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update.UpdateTakenLectureUseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.DeleteTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; @@ -29,11 +28,10 @@ class UpdateTakenLectureService implements UpdateTakenLectureUseCase { private final SaveTakenLecturePort saveTakenLecturePort; @Override - public void modifyTakenLecture(UpdateTakenLectureCommand updateTakenLectureCommand) { - Long userId = updateTakenLectureCommand.getUserId(); + public void modifyTakenLecture(Long userId, List deletedTakenLectureIds, List addedTakenLectureIds) { User user = findUserUseCase.findUserById(userId); - deleteTakenLectures(updateTakenLectureCommand); - List addedLectures = findAddedLecturesByIds(updateTakenLectureCommand); + deleteTakenLecturePort.deleteTakenLecturesByIds(deletedTakenLectureIds); + List addedLectures = findLecturesByIdUseCase.findLecturesByIds(addedTakenLectureIds); addCustomTakenLectures(user, addedLectures); } @@ -43,14 +41,4 @@ private void addCustomTakenLectures(User user, List addedLectures) { .collect(Collectors.toList()); saveTakenLecturePort.saveTakenLectures(addedTakenLectures); } - - private List findAddedLecturesByIds(UpdateTakenLectureCommand updateTakenLectureCommand) { - List addedLectureIds = updateTakenLectureCommand.getAddedTakenLectures(); - return findLecturesByIdUseCase.findLecturesByIds(addedLectureIds); - } - - private void deleteTakenLectures(UpdateTakenLectureCommand updateTakenLectureCommand) { - List deletedTakenLectureIds = updateTakenLectureCommand.getDeletedTakenLectures(); - deleteTakenLecturePort.deleteTakenLecturesByIds(deletedTakenLectureIds); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java index e97f2efb..21a49032 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java @@ -1,5 +1,7 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; + public interface FindTakenLectureUseCase { FindTakenLectureResponse findTakenLectures(Long userId); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureCommand.java deleted file mode 100644 index 4c88b9ae..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureCommand.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save; - -import java.util.List; - -import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.Semester; -import com.plzgraduate.myongjigraduatebe.user.domain.model.User; - -import lombok.Builder; -import lombok.Getter; - -@Getter -public class SaveTakenLectureCommand { - private final User user; - private final List takenLectureInformationList; - - @Builder - private SaveTakenLectureCommand(User user, List takenLectureInformationList) { - this.user = user; - this.takenLectureInformationList = takenLectureInformationList; - } - - public static SaveTakenLectureCommand of(User user, List takenLectureInformationList) { - return SaveTakenLectureCommand.builder() - .user(user) - .takenLectureInformationList(takenLectureInformationList) - .build(); - } - - public static TakenLectureInformation createTakenLectureInformation(String lectureCode, int year, Semester semester) { - return TakenLectureInformation.builder() - .lectureCode(lectureCode) - .year(year) - .semester(semester) - .build(); - } - - @Getter - public static class TakenLectureInformation { - private final String lectureCode; - private final int year; - private final Semester semester; - - @Builder - private TakenLectureInformation(String lectureCode, int year, Semester semester) { - this.lectureCode = lectureCode; - this.year = year; - this.semester = semester; - } - } -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureFromParsingTextUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureFromParsingTextUseCase.java index 625584a9..cac9442a 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureFromParsingTextUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/save/SaveTakenLectureFromParsingTextUseCase.java @@ -1,6 +1,11 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save; +import java.util.List; + +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInformation; +import com.plzgraduate.myongjigraduatebe.user.domain.model.User; + public interface SaveTakenLectureFromParsingTextUseCase { - void saveTakenLectures(SaveTakenLectureCommand saveTakenLectureCommand); + void saveTakenLectures(User user, List takenLectureInformationList); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureCommand.java deleted file mode 100644 index 99bf4b26..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureCommand.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update; - -import java.util.List; - -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Getter -@NoArgsConstructor -public class UpdateTakenLectureCommand { - private Long userId; - private List deletedTakenLectures; - private List addedTakenLectures; - - @Builder - private UpdateTakenLectureCommand(Long userId, List deletedTakenLectures, List addedTakenLectures) { - this.userId = userId; - this.deletedTakenLectures = deletedTakenLectures; - this.addedTakenLectures = addedTakenLectures; - } -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java index 90445b5a..5a193906 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/update/UpdateTakenLectureUseCase.java @@ -1,6 +1,10 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update; +import java.util.List; + +import lombok.extern.java.Log; + public interface UpdateTakenLectureUseCase { - void modifyTakenLecture(UpdateTakenLectureCommand updateTakenLectureCommand); + void modifyTakenLecture(Long userId, List deletedTakenLectureIds, List addedTakenLectureIds); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInformation.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInformation.java new file mode 100644 index 00000000..d45a0546 --- /dev/null +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInformation.java @@ -0,0 +1,27 @@ +package com.plzgraduate.myongjigraduatebe.takenlecture.domain.model; + +import lombok.Builder; +import lombok.Getter; + +@Getter +public class TakenLectureInformation { + + private final String lectureCode; + private final int year; + private final Semester semester; + + @Builder + private TakenLectureInformation(String lectureCode, int year, Semester semester) { + this.lectureCode = lectureCode; + this.year = year; + this.semester = semester; + } + + public static TakenLectureInformation createTakenLectureInformation(String lectureCode, int year, Semester semester) { + return TakenLectureInformation.builder() + .lectureCode(lectureCode) + .year(year) + .semester(semester) + .build(); + } +} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordApiPresentation.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordApiPresentation.java index 9e44f12b..507f7913 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordApiPresentation.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordApiPresentation.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.request.ResetPasswordRequest; import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; import io.swagger.v3.oas.annotations.Operation; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java index c2d8f909..2a8e3d76 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestParam; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; +import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.request.ResetPasswordRequest; import com.plzgraduate.myongjigraduatebe.user.application.usecase.resetpassword.ResetPasswordUseCase; import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; import com.plzgraduate.myongjigraduatebe.user.application.usecase.validate.ValidateUserUseCase; @@ -33,6 +34,7 @@ public ValidateUserResponse validateUser( @PatchMapping("/password") public void resetPassword(@Valid @RequestBody ResetPasswordRequest resetPasswordRequest) { - resetPasswordUseCase.resetPassword(resetPasswordRequest.toCommand()); + resetPasswordUseCase.resetPassword(resetPasswordRequest.getAuthId(), resetPasswordRequest.getNewPassword(), + resetPasswordRequest.getPasswordCheck()); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/dto/request/ResetPasswordRequest.java similarity index 82% rename from src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordRequest.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/dto/request/ResetPasswordRequest.java index 6aaa1d2f..957eafb9 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/dto/request/ResetPasswordRequest.java @@ -1,10 +1,8 @@ -package com.plzgraduate.myongjigraduatebe.user.api.resetpassword; +package com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.request; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.resetpassword.ResetPasswordCommand; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; @@ -35,10 +33,4 @@ private ResetPasswordRequest(String authId, String newPassword, String passwordC this.passwordCheck = passwordCheck; } - public ResetPasswordCommand toCommand() { - return ResetPasswordCommand.builder() - .authId(authId) - .newPassword(newPassword) - .passwordCheck(passwordCheck).build(); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpApiPresentation.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpApiPresentation.java index 49825dbe..ede116ee 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpApiPresentation.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpApiPresentation.java @@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.request.SignUpRequest; import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.response.AuthIdDuplicationResponse; import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.response.StudentNumberDuplicationResponse; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpController.java index e8f2fc18..66c2b8cf 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; +import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.request.SignUpRequest; import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.response.AuthIdDuplicationResponse; import com.plzgraduate.myongjigraduatebe.user.application.usecase.check.CheckAuthIdDuplicationUseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.check.CheckStudentNumberDuplicationUseCase; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/dto/request/SignUpRequest.java similarity index 96% rename from src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpRequest.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/dto/request/SignUpRequest.java index 8d992623..e7943142 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/signup/dto/request/SignUpRequest.java @@ -1,4 +1,4 @@ -package com.plzgraduate.myongjigraduatebe.user.api.signup; +package com.plzgraduate.myongjigraduatebe.user.api.signup.dto.request; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawApiPresentation.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawApiPresentation.java index ca84d557..ef62b832 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawApiPresentation.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawApiPresentation.java @@ -3,6 +3,7 @@ import org.springframework.web.bind.annotation.RequestBody; import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser; +import com.plzgraduate.myongjigraduatebe.user.api.withdraw.dto.request.WithDrawRequest; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawController.java index 3b09918b..a7f3fc1c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawController.java @@ -6,6 +6,7 @@ import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; +import com.plzgraduate.myongjigraduatebe.user.api.withdraw.dto.request.WithDrawRequest; import com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw.WithDrawUserUseCase; import lombok.RequiredArgsConstructor; @@ -19,6 +20,6 @@ public class WithDrawController implements WithDrawApiPresentation { @DeleteMapping() public void withDraw(@LoginUser Long userId, @RequestBody WithDrawRequest withDrawRequest) { - withDrawUserUseCase.withDraw(userId, withDrawRequest.toCommand()); + withDrawUserUseCase.withDraw(userId, withDrawRequest.getPassword()); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawRequest.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/dto/request/WithDrawRequest.java similarity index 63% rename from src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawRequest.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/dto/request/WithDrawRequest.java index 52d07b32..637fb121 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawRequest.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/dto/request/WithDrawRequest.java @@ -1,8 +1,7 @@ -package com.plzgraduate.myongjigraduatebe.user.api.withdraw; +package com.plzgraduate.myongjigraduatebe.user.api.withdraw.dto.request; import javax.validation.constraints.NotBlank; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw.WithDrawCommand; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; @@ -22,8 +21,4 @@ private WithDrawRequest(String password) { this.password = password; } - public WithDrawCommand toCommand() { - return WithDrawCommand.builder() - .password(this.password).build(); - } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordService.java index 6526cac1..4c305487 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordService.java @@ -4,10 +4,9 @@ import org.springframework.transaction.annotation.Transactional; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; +import com.plzgraduate.myongjigraduatebe.user.application.port.UpdateUserPort; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.resetpassword.ResetPasswordCommand; import com.plzgraduate.myongjigraduatebe.user.application.usecase.resetpassword.ResetPasswordUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.port.UpdateUserPort; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -22,15 +21,15 @@ class ResetPasswordService implements ResetPasswordUseCase { private final PasswordEncoder passwordEncoder; @Override - public void resetPassword(ResetPasswordCommand resetPasswordCommand) { - checkMatchPassword(resetPasswordCommand); - User user = findUserUseCase.findUserByAuthId(resetPasswordCommand.getAuthId()); - user.resetPassword(passwordEncoder.encode(resetPasswordCommand.getNewPassword())); + public void resetPassword(String authId, String newPassword, String passwordCheck) { + checkMatchPassword(newPassword, passwordCheck); + User user = findUserUseCase.findUserByAuthId(authId); + user.resetPassword(passwordEncoder.encode(newPassword)); updateUserPort.updateUser(user); } - private static void checkMatchPassword(ResetPasswordCommand resetPasswordCommand) { - if (!resetPasswordCommand.getNewPassword().equals(resetPasswordCommand.getPasswordCheck())) { + private void checkMatchPassword(String newPassword,String passwordCheck) { + if (!newPassword.equals(passwordCheck)) { throw new IllegalArgumentException("비밀번호와 비밀번호 확인이 일치하지 않습니다."); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserService.java index 448dbaca..88097858 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserService.java @@ -6,10 +6,9 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.parsing.application.port.DeleteParsingTextHistoryPort; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.delete.DeleteTakenLectureByUserUseCase; +import com.plzgraduate.myongjigraduatebe.user.application.port.DeleteUserPort; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw.WithDrawCommand; import com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw.WithDrawUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.port.DeleteUserPort; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -26,9 +25,9 @@ class WithDrawUserService implements WithDrawUserUseCase { private final PasswordEncoder passwordEncoder; @Override - public void withDraw(Long userId, WithDrawCommand withDrawCommand) { + public void withDraw(Long userId, String password) { User user = findUserUseCase.findUserById(userId); - user.matchPassword(passwordEncoder, withDrawCommand.getPassword()); + user.matchPassword(passwordEncoder, password); deleteTakenLectureByUserUseCase.deleteAllTakenLecturesByUser(user); deleteParsingTextHistoryPort.deleteUserParsingTextHistory(user); deleteUserPort.deleteUser(user); diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordCommand.java deleted file mode 100644 index 2a2ae234..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordCommand.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.user.application.usecase.resetpassword; - -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Getter -@NoArgsConstructor -public class ResetPasswordCommand { - - private String authId; - - private String newPassword; - - private String passwordCheck; - - @Builder - private ResetPasswordCommand(String authId, String newPassword, String passwordCheck) { - this.authId = authId; - this.newPassword = newPassword; - this.passwordCheck = passwordCheck; - } -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordUseCase.java index c727b560..c3dcb412 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/resetpassword/ResetPasswordUseCase.java @@ -2,5 +2,5 @@ public interface ResetPasswordUseCase { - void resetPassword(ResetPasswordCommand resetPasswordCommand); + void resetPassword(String authId, String newPassword, String passwordCheck); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawCommand.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawCommand.java deleted file mode 100644 index fd59e394..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawCommand.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw; - -import lombok.Builder; -import lombok.Getter; - -@Getter -public class WithDrawCommand { - - private final String password; - - @Builder - private WithDrawCommand(String password) { - this.password = password; - } -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawUserUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawUserUseCase.java index 7be39fe9..66e71716 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawUserUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/withdraw/WithDrawUserUseCase.java @@ -2,5 +2,5 @@ public interface WithDrawUserUseCase { - void withDraw(Long userId, WithDrawCommand withDrawCommand); + void withDraw(Long userId, String password); } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInControllerTest.java index cc7f8c24..a9a9e086 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/api/signin/SignInControllerTest.java @@ -82,7 +82,7 @@ void invalidUser() throws Exception { .authId("mju-graduate") .password("1q2w3e4r") .build(); - given(signInUseCase.signIn(any())).willThrow(new UnAuthorizedException("아이디 혹은 비밀번호가 일치하지 않습니다.")); + given(signInUseCase.signIn(any(), any())).willThrow(new UnAuthorizedException("아이디 혹은 비밀번호가 일치하지 않습니다.")); //when //then mockMvc.perform( post("/api/v1/auth/sign-in") diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInServiceTest.java index c5b5539e..a87657c5 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/signin/SignInServiceTest.java @@ -15,7 +15,6 @@ import org.springframework.security.core.Authentication; import org.springframework.security.core.authority.SimpleGrantedAuthority; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.signin.SignInCommand; import com.plzgraduate.myongjigraduatebe.auth.api.signin.dto.response.TokenResponse; import com.plzgraduate.myongjigraduatebe.auth.application.port.SaveRefreshTokenPort; import com.plzgraduate.myongjigraduatebe.auth.security.JwtAuthenticationToken; @@ -39,10 +38,8 @@ class SignInServiceTest { @Test void singIn() { //given - SignInCommand command = SignInCommand.builder() - .authId("mju-graduate") - .password("1q2w3e4r!") - .build(); + String authId = "mju-graduate"; + String password = "1q2w3e4r!"; Long userId = 1L; String accessToken = "accessToken"; String refreshToken = "refreshToken"; @@ -56,7 +53,7 @@ void singIn() { given(tokenProvider.generateRefreshToken()).willReturn(refreshToken); //when - TokenResponse tokenResponse = signInService.signIn(command); + TokenResponse tokenResponse = signInService.signIn(authId, password); //then then(saveRefreshTokenPort).should(times(1)).saveRefreshToken(refreshToken, userId); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java index 667f2fbc..cbfc7fcc 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/auth/application/service/token/TokenServiceTest.java @@ -1,8 +1,12 @@ package com.plzgraduate.myongjigraduatebe.auth.application.service.token; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.BDDMockito.*; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.mockito.BDDMockito.anyLong; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.never; +import static org.mockito.BDDMockito.then; +import static org.mockito.BDDMockito.times; import java.util.Optional; @@ -14,7 +18,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.auth.api.token.dto.response.AccessTokenResponse; -import com.plzgraduate.myongjigraduatebe.auth.application.usecase.token.TokenCommand; import com.plzgraduate.myongjigraduatebe.auth.application.port.FindRefreshTokenPort; import com.plzgraduate.myongjigraduatebe.auth.security.TokenProvider; @@ -37,14 +40,11 @@ void generateNewToken() { Long userId = 1L; String refreshToken = "refreshToken"; String accessToken = "accessToken"; - TokenCommand command = TokenCommand.builder() - .refreshToken(refreshToken) - .build(); given(findRefreshTokenPort.findByRefreshToken(refreshToken)).willReturn(Optional.of(userId)); given(tokenProvider.generateToken(userId)).willReturn(accessToken); //when - AccessTokenResponse accessTokenResponse = tokenService.generateNewToken(command); + AccessTokenResponse accessTokenResponse = tokenService.generateNewToken(refreshToken); //then assertThat(accessTokenResponse.getAccessToken()).isEqualTo(accessToken); @@ -55,13 +55,10 @@ void generateNewToken() { void illegalArgumentExceptionIfInvalidToken() { //given String refreshToken = "refreshToken"; - TokenCommand command = TokenCommand.builder() - .refreshToken(refreshToken) - .build(); given(findRefreshTokenPort.findByRefreshToken(refreshToken)).willReturn(Optional.empty()); //when - assertThatThrownBy(() -> tokenService.generateNewToken(command)) + assertThatThrownBy(() -> tokenService.generateNewToken(refreshToken)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("유효하지 않은 토큰입니다."); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java index 11b2a3ba..8486961a 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java @@ -31,7 +31,7 @@ void searchLecture() throws Exception { LectureResponse.builder().id(1L).build() ); SearchLectureResponse searchLectureResponse = SearchLectureResponse.builder().lectures(searchLectures).build(); - given(searchLectureUseCase.searchLectures(any())).willReturn(searchLectureResponse); + given(searchLectureUseCase.searchLectures(any(), any())).willReturn(searchLectureResponse); //when //then mockMvc.perform(get("/api/v1/lectures") @@ -41,7 +41,7 @@ void searchLecture() throws Exception { .andExpect(status().isOk()) .andExpect(jsonPath("$.lectures", hasSize(1))); - then(searchLectureUseCase).should(times(1)).searchLectures(any()); + then(searchLectureUseCase).should(times(1)).searchLectures(any(), any()); } @WithMockAuthenticationUser diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java index fc9c9dfe..601e19a9 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java @@ -1,6 +1,7 @@ package com.plzgraduate.myongjigraduatebe.lecture.application.service.search; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.tuple; import static org.mockito.BDDMockito.given; import java.util.List; @@ -12,10 +13,9 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import com.plzgraduate.myongjigraduatebe.lecture.application.service.SearchLectureService; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureCommand; import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; import com.plzgraduate.myongjigraduatebe.lecture.application.port.SearchLecturePort; +import com.plzgraduate.myongjigraduatebe.lecture.application.service.SearchLectureService; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; @ExtendWith(MockitoExtension.class) @@ -28,11 +28,8 @@ class SearchLectureServiceTest { @DisplayName("과목을 검색한다.") @Test void searchLectures() { - - SearchLectureCommand command = SearchLectureCommand.builder() - .type("name") - .keyword("기초") - .build(); + String type = "name"; + String keyword = "기초"; List lectures = List.of( createLecture(1L, "code1", "기초웹프로그래밍", 3, 0), createLecture(2L, "code2", "앱과웹기초", 2, 1) @@ -41,7 +38,7 @@ void searchLectures() { .willReturn(lectures); //when - SearchLectureResponse searchLectures = searchLectureService.searchLectures(command); + SearchLectureResponse searchLectures = searchLectureService.searchLectures(type, keyword); //then assertThat(searchLectures.getLectures()) diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java index c59b2cd3..285fd0f6 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/api/ParsingTextControllerTest.java @@ -16,7 +16,6 @@ import com.plzgraduate.myongjigraduatebe.core.exception.InvalidPdfException; import com.plzgraduate.myongjigraduatebe.parsing.api.dto.request.ParsingTextRequest; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.support.WithMockAuthenticationUser; @@ -45,8 +44,8 @@ void enrollParsingText() throws Exception { .andDo(print()) .andExpect(status().isOk()); - then(parsingTextUseCase).should().enrollParsingText(any(ParsingTextCommand.class)); - then(parsingTextHistoryUseCase).should().generateSucceedParsingTextHistory(any(ParsingTextCommand.class)); + then(parsingTextUseCase).should().enrollParsingText(any(Long.class), any(String.class)); + then(parsingTextHistoryUseCase).should().generateSucceedParsingTextHistory(any(Long.class), any(String.class)); } @@ -60,7 +59,7 @@ void failToEnrollParsingText() throws Exception { .parsingText(parsingText) .build(); - doThrow(new InvalidPdfException("")).when(parsingTextUseCase).enrollParsingText(any(ParsingTextCommand.class)); + doThrow(new InvalidPdfException("")).when(parsingTextUseCase).enrollParsingText(any(Long.class), any(String.class)); //when ResultActions actions = mockMvc.perform( @@ -77,7 +76,7 @@ void failToEnrollParsingText() throws Exception { .andExpect(jsonPath("$.status").value(400)) .andExpect(jsonPath("$.message").value("")); - then(parsingTextHistoryUseCase).should().generateFailedParsingTextHistory(any(ParsingTextCommand.class)); + then(parsingTextHistoryUseCase).should().generateFailedParsingTextHistory(any(Long.class), any(String.class)); } } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java index 841af0d9..6e50b594 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextHistoryServiceTest.java @@ -1,7 +1,8 @@ package com.plzgraduate.myongjigraduatebe.parsing.application.service; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.BDDMockito.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -11,7 +12,6 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; import com.plzgraduate.myongjigraduatebe.parsing.application.port.SaveParsingTextHistoryPort; import com.plzgraduate.myongjigraduatebe.parsing.domain.ParsingTextHistory; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; @@ -36,14 +36,10 @@ void generateSucceedParsingTextHistory() { User user = createUser(userId, "mju1001!", "1q2w3e4r!", EnglishLevel.ENG12, "정지환", "60181666", 18, "융합소프트웨어학부", null, StudentCategory.NORMAL); String parsingText = "parsingText"; - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(userId) - .parsingText(parsingText) - .build(); given(findUserUseCase.findUserById(userId)).willReturn(user); ArgumentCaptor captor = ArgumentCaptor.forClass(ParsingTextHistory.class); //when - parsingTextHistoryService.generateSucceedParsingTextHistory(command); + parsingTextHistoryService.generateSucceedParsingTextHistory(userId, parsingText); //then then(saveParsingTextHistoryPort).should().saveParsingTextHistory(captor.capture()); @@ -60,14 +56,10 @@ void generateFailedParsingTextHistory() { User user = createUser(userId, "mju1001!", "1q2w3e4r!", EnglishLevel.ENG12, "정지환", "60181666", 18, "융합소프트웨어학부", null, StudentCategory.NORMAL); String parsingText = "parsingText"; - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(userId) - .parsingText(parsingText) - .build(); given(findUserUseCase.findUserById(userId)).willReturn(user); ArgumentCaptor captor = ArgumentCaptor.forClass(ParsingTextHistory.class); //when - parsingTextHistoryService.generateFailedParsingTextHistory(command); + parsingTextHistoryService.generateFailedParsingTextHistory(userId, parsingText); //then then(saveParsingTextHistoryPort).should().saveParsingTextHistory(captor.capture()); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextServiceTest.java index e5155f79..d51083a6 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/parsing/application/service/ParsingTextServiceTest.java @@ -1,7 +1,11 @@ package com.plzgraduate.myongjigraduatebe.parsing.application.service; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.BDDMockito.*; +import static org.mockito.BDDMockito.any; +import static org.mockito.BDDMockito.anyLong; +import static org.mockito.BDDMockito.doThrow; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -12,9 +16,7 @@ import com.plzgraduate.myongjigraduatebe.core.exception.InvalidPdfException; import com.plzgraduate.myongjigraduatebe.core.exception.PdfParsingException; -import com.plzgraduate.myongjigraduatebe.parsing.application.usecase.ParsingTextCommand; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.delete.DeleteTakenLectureByUserUseCase; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureCommand; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureFromParsingTextUseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.update.UpdateStudentInformationCommand; @@ -51,19 +53,14 @@ class ParsingTextServiceTest{ + "|총 취득학점 - 118, 총점 - 436, 평균평점 - 3.82" + "|이수구분|수강년도/학기|한글코드|과목코드|과목명|학점|등급|중복|공통교양|2019년 2학기|교필137|KMA02137|4차산업혁명시대의진로선택|2|P|공통교양|2022년 동계계절|교필104|KMA02104|글쓰기|3|C0|공통교양|2020년 1학기|교필122|KMA02122|기독교와문화|2|B0|공통교양|2019년 2학기|교필127|KMA00101|성서와인간이해|2|B+|공통교양|2019년 하계계절|교필106|KMA02106|영어1|2|B+|2|공통교양|2019년 2학기|교필107|KMA02107|영어2|2|B+|공통교양|2022년 동계계절|교필108|KMA02108|영어회화1|1|B+|3|공통교양|2023년 1학기|교필109|KMA02109|영어회화2|1|A0|공통교양|2020년 1학기|교필101|KMA02101|채플|0.5|P|공통교양|2020년 2학기|교필101|KMA02101|채플|0.5|P|공통교양|2022년 2학기|교필101|KMA02101|채플|0.5|P|공통교양|2023년 1학기|교필101|KMA02101|채플|0.5|P|핵심교양|2022년 2학기|교선130|KMA02130|고전으로읽는인문학|3|A0|핵심교양|2019년 2학기|교선113|KMA02113|세계화와사회변화|3|B+|핵심교양|2018년 1학기|교선135|KMA02135|우주,생명,마음|3|C+|핵심교양|2020년 2학기|교선111|KMA02111|한국근현대사의이해|3|A+|학문기초교양|2019년 1학기|기사133|KMD02133|ICT비즈니스와경영|3|B+|학문기초교양|2022년 2학기|기사123|KMD02123|경제학원론|3|A+|학문기초교양|2022년 2학기|기사103|KMD02103|대중문화와매스컴|3|A0|학문기초교양|2019년 1학기|기자107|KME02107|선형대수학개론|3|B0|6|학문기초교양|2019년 하계계절|기인107|KMB02107|인간심리의이해|3|B+|5|학문기초교양|2020년 2학기|기자106|KME02106|통계학개론|3|A+|일반교양|2022년 2학기|균여111|KMO02111|교양볼링|2|B+|일반교양|2020년 1학기|기컴118|KMI02118|엑셀기초및실무활용|3|B+|4|전공1단계|2019년 1학기|데테202|HED01202|R통계분석|3|A0|전공1단계|2022년 2학기|데테314|HED01314|게임프로그래밍|3|A+|전공1단계|2020년 1학기|데테316|HED01316|고급웹프로그래밍|3|A0|전공1단계|2019년 2학기|데테206|HED01206|기초웹프로그래밍|3|B+|전공1단계|2019년 1학기|융소102|HEB01102|기초프로그래밍|3|B+|1|전공1단계|2019년 2학기|융소105|HEB01105|기초프로그래밍2|3|C+|전공1단계|2019년 2학기|데테318|HED01203|데이터베이스|3|A0|전공1단계|2023년 1학기|데테317|HED01317|데이터베이스프로젝트|3|A+|전공1단계|2023년 1학기|데테407|HED01407|딥러닝|3|B+|전공1단계|2023년 1학기|데테319|HED01318|모바일컴퓨팅|3|A+|전공1단계|2020년 2학기|데테403|HED01403|블록체인기초|3|A+|전공1단계|2023년 1학기|데테404|HED01404|빅데이터기술특론1|3|B0|전공1단계|2022년 2학기|데테306|HED01306|빅데이터프로그래밍|3|A0|전공1단계|2020년 1학기|데테301|HED01301|소프트웨어공학|3|A+|전공1단계|2020년 2학기|데테209|HED01307|알고리즘|3|A+|전공1단계|2020년 2학기|데테303|HED01303|운영체제|3|A+|전공1단계|2020년 1학기|데테315|HED01315|인공지능|3|B+|전공1단계|2019년 1학기|데테201|HED01201|자료구조|3|A0|전공1단계|2023년 1학기|데테413|HED01413|캡스톤디자인|3|A+|전공1단계|2020년 1학기|데테309|HED01309|컴퓨터아키텍쳐|3|A0|전공1단계|2020년 2학기|데테313|HED01313|컴퓨터통신|3|A+|자유선택|2023년 1학기|교선136|KMA02136|SW프로그래밍입문|3|A+|공통교양|2019년 2학기|교필101|KMA02101|채플|0.5|N|공통교양|2018년 1학기|교필106|KMA02106|영어1|0|R|2|공통교양|2018년 1학기|교필108|KMA02108|영어회화1|0|R|3|공통교양|2020년 1학기|교필108|KMA02108|영어회화1|0|R|3|학문기초교양|2018년 1학기|기자107|KME02107|선형대수학개론|0|R|6|학문기초교양|2018년 1학기|기인107|KMB02107|인간심리의이해|0|R|5|일반교양|2018년 1학기|기컴118|KMI02118|엑셀기초및실무활용|0|R|4|전공1단계|2018년 1학기|융소102|HEB01102|기초프로그래밍|0|R|1|"; - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(1L) - .parsingText(parsingText) - .build(); - given(findUserUseCase.findUserById(anyLong())).willReturn(user); //when - parsingTextService.enrollParsingText(command); + parsingTextService.enrollParsingText(1L, parsingText); //then then(updateStudentInformationUseCase).should().updateUser(any(UpdateStudentInformationCommand.class)); then(deleteTakenLectureByUserUseCase).should().deleteAllTakenLecturesByUser(any(User.class)); - then(saveTakenLectureFromParsingTextUseCase).should().saveTakenLectures(any(SaveTakenLectureCommand.class)); + then(saveTakenLectureFromParsingTextUseCase).should().saveTakenLectures(any(User.class), any()); } @DisplayName("PDF 파싱 텍스트가 빈 문자열로 오면 InvalidPdfException을 반환한다.") @@ -71,13 +68,9 @@ class ParsingTextServiceTest{ void 파싱_텍스트_빈문자열() { //given String emptyParsingText = " "; - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(1L) - .parsingText(emptyParsingText) - .build(); //when //then - assertThatThrownBy(() -> parsingTextService.enrollParsingText(command)) + assertThatThrownBy(() -> parsingTextService.enrollParsingText(1L, emptyParsingText)) .isInstanceOf(InvalidPdfException.class) .hasMessage("PDF를 인식하지 못했습니다. 채널톡으로 문의 바랍니다."); } @@ -98,16 +91,11 @@ class ParsingTextServiceTest{ User user = createUser( "60181665"); - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(1L) - .parsingText(parsingText) - .build(); - given(findUserUseCase.findUserById(anyLong())).willReturn(user); //when //then - assertThatThrownBy(() -> parsingTextService.enrollParsingText(command)) + assertThatThrownBy(() -> parsingTextService.enrollParsingText(1L, parsingText)) .isInstanceOf(InvalidPdfException.class) .hasMessage("본인의 학번과 PDF 학번이 일치하지 않습니다."); } @@ -129,17 +117,12 @@ class ParsingTextServiceTest{ "60181666"); //when - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(1L) - .parsingText(parsingText) - .build(); - given(findUserUseCase.findUserById(anyLong())).willReturn(user); doThrow(NullPointerException.class).when(saveTakenLectureFromParsingTextUseCase) - .saveTakenLectures(any(SaveTakenLectureCommand.class)); + .saveTakenLectures(any(User.class), any()); //then - assertThatThrownBy(() -> parsingTextService.enrollParsingText(command)) + assertThatThrownBy(() -> parsingTextService.enrollParsingText(1L, parsingText)) .isInstanceOf(PdfParsingException.class) .hasMessage("PDF에서 정보를 읽어오는데 실패했습니다. 채널톡으로 문의 바랍니다."); } @@ -159,19 +142,15 @@ class ParsingTextServiceTest{ + "|총 취득학점 - 118, 총점 - 436, 평균평점 - 3.82" + "|이수구분|수강년도/학기|한글코드|과목코드|과목명|학점|등급|중복|공통교양|2019년 2학기|교필137|KMA02137|4차산업혁명시대의진로선택|2|P|공통교양|2022년 동계계절|교필104|KMA02104|글쓰기|3|C0|공통교양|2020년 1학기|교필122|KMA02122|기독교와문화|2|B0|공통교양|2019년 2학기|교필127|KMA00101|성서와인간이해|2|B+|공통교양|2019년 하계계절|교필106|KMA02106|영어1|2|B+|2|공통교양|2019년 2학기|교필107|KMA02107|영어2|2|B+|공통교양|2022년 동계계절|교필108|KMA02108|영어회화1|1|B+|3|공통교양|2023년 1학기|교필109|KMA02109|영어회화2|1|A0|공통교양|2020년 1학기|교필101|KMA02101|채플|0.5|P|공통교양|2020년 2학기|교필101|KMA02101|채플|0.5|P|공통교양|2022년 2학기|교필101|KMA02101|채플|0.5|P|공통교양|2023년 1학기|교필101|KMA02101|채플|0.5|P|핵심교양|2022년 2학기|교선130|KMA02130|고전으로읽는인문학|3|A0|핵심교양|2019년 2학기|교선113|KMA02113|세계화와사회변화|3|B+|핵심교양|2018년 1학기|교선135|KMA02135|우주,생명,마음|3|C+|핵심교양|2020년 2학기|교선111|KMA02111|한국근현대사의이해|3|A+|학문기초교양|2019년 1학기|기사133|KMD02133|ICT비즈니스와경영|3|B+|학문기초교양|2022년 2학기|기사123|KMD02123|경제학원론|3|A+|학문기초교양|2022년 2학기|기사103|KMD02103|대중문화와매스컴|3|A0|학문기초교양|2019년 1학기|기자107|KME02107|선형대수학개론|3|B0|6|학문기초교양|2019년 하계계절|기인107|KMB02107|인간심리의이해|3|B+|5|학문기초교양|2020년 2학기|기자106|KME02106|통계학개론|3|A+|일반교양|2022년 2학기|균여111|KMO02111|교양볼링|2|B+|일반교양|2020년 1학기|기컴118|KMI02118|엑셀기초및실무활용|3|B+|4|전공1단계|2019년 1학기|데테202|HED01202|R통계분석|3|A0|전공1단계|2022년 2학기|데테314|HED01314|게임프로그래밍|3|A+|전공1단계|2020년 1학기|데테316|HED01316|고급웹프로그래밍|3|A0|전공1단계|2019년 2학기|데테206|HED01206|기초웹프로그래밍|3|B+|전공1단계|2019년 1학기|융소102|HEB01102|기초프로그래밍|3|B+|1|전공1단계|2019년 2학기|융소105|HEB01105|기초프로그래밍2|3|C+|전공1단계|2019년 2학기|데테318|HED01203|데이터베이스|3|A0|전공1단계|2023년 1학기|데테317|HED01317|데이터베이스프로젝트|3|A+|전공1단계|2023년 1학기|데테407|HED01407|딥러닝|3|B+|전공1단계|2023년 1학기|데테319|HED01318|모바일컴퓨팅|3|A+|전공1단계|2020년 2학기|데테403|HED01403|블록체인기초|3|A+|전공1단계|2023년 1학기|데테404|HED01404|빅데이터기술특론1|3|B0|전공1단계|2022년 2학기|데테306|HED01306|빅데이터프로그래밍|3|A0|전공1단계|2020년 1학기|데테301|HED01301|소프트웨어공학|3|A+|전공1단계|2020년 2학기|데테209|HED01307|알고리즘|3|A+|전공1단계|2020년 2학기|데테303|HED01303|운영체제|3|A+|전공1단계|2020년 1학기|데테315|HED01315|인공지능|3|B+|전공1단계|2019년 1학기|데테201|HED01201|자료구조|3|A0|전공1단계|2023년 1학기|데테413|HED01413|캡스톤디자인|3|A+|전공1단계|2020년 1학기|데테309|HED01309|컴퓨터아키텍쳐|3|A0|전공1단계|2020년 2학기|데테313|HED01313|컴퓨터통신|3|A+|자유선택|2023년 1학기|교선136|KMA02136|SW프로그래밍입문|3|A+|공통교양|2019년 2학기|교필101|KMA02101|채플|0.5|N|공통교양|2018년 1학기|교필106|KMA02106|영어1|0|R|2|공통교양|2018년 1학기|교필108|KMA02108|영어회화1|0|R|3|공통교양|2020년 1학기|교필108|KMA02108|영어회화1|0|R|3|학문기초교양|2018년 1학기|기자107|KME02107|선형대수학개론|0|R|6|학문기초교양|2018년 1학기|기인107|KMB02107|인간심리의이해|0|R|5|일반교양|2018년 1학기|기컴118|KMI02118|엑셀기초및실무활용|0|R|4|전공1단계|2018년 1학기|융소102|HEB01102|기초프로그래밍|0|R|1|"; - ParsingTextCommand command = ParsingTextCommand.builder() - .userId(1L) - .parsingText(parsingText) - .build(); - given(findUserUseCase.findUserById(anyLong())).willReturn(user); + //when - parsingTextService.enrollParsingText(command); + parsingTextService.enrollParsingText(1L, parsingText); //then then(updateStudentInformationUseCase).should().updateUser(any(UpdateStudentInformationCommand.class)); then(deleteTakenLectureByUserUseCase).should().deleteAllTakenLecturesByUser(any(User.class)); - then(saveTakenLectureFromParsingTextUseCase).should().saveTakenLectures(any(SaveTakenLectureCommand.class)); + then(saveTakenLectureFromParsingTextUseCase).should().saveTakenLectures(any(User.class), any()); } private User createUser(String studentNumber) { diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java index 19b5640e..83e4a7a2 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java @@ -15,8 +15,8 @@ import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.support.WithMockAuthenticationUser; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureResponse; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.TakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.TakenLectureResponse; class FindTakenLectureControllerTest extends WebAdaptorTestSupport { diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java index 896d8347..6c6511af 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java @@ -15,7 +15,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.FindTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.Semester; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java index 7cfcfa0c..a8f70952 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java @@ -1,7 +1,10 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.service.save; -import static org.mockito.BDDMockito.*; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.assertj.core.api.Assertions.tuple; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; import java.util.ArrayList; import java.util.List; @@ -16,10 +19,10 @@ import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByLectureCodeUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureCommand; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.Semester; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInformation; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @ExtendWith(MockitoExtension.class) @@ -37,14 +40,10 @@ class SaveTakenLectureFromParsingTextServiceTest { void saveTakenLectures() { //given User user = User.builder().id(1L).build(); - List takenLectureInformationList = new ArrayList<>(List.of( - createTakenLectureInformation("KMA02122", 2022, Semester.FIRST), - createTakenLectureInformation("KMA02135", 2023, Semester.FIRST) + List takenLectureInformationList = new ArrayList<>(List.of( + createTakenLectureInformation("KMA02122", 2022), + createTakenLectureInformation("KMA02135", 2023) )); - SaveTakenLectureCommand command = SaveTakenLectureCommand.builder() - .user(user) - .takenLectureInformationList(takenLectureInformationList) - .build(); Lecture lecture1 = createLecture("KMA02122"); Lecture lecture2 = createLecture("KMA02135"); given(findLecturesByLectureCodeUseCase.findLecturesByLectureCodes(List.of("KMA02122", "KMA02135"))) @@ -52,7 +51,7 @@ void saveTakenLectures() { ArgumentCaptor> takenLectureListCaptor = ArgumentCaptor.forClass(List.class); //when - saveTakenLectureFromParsingTextService.saveTakenLectures(command); + saveTakenLectureFromParsingTextService.saveTakenLectures(user, takenLectureInformationList); //then then(saveTakenLecturePort).should().saveTakenLectures(takenLectureListCaptor.capture()); @@ -71,32 +70,27 @@ void saveTakenLectures() { void lectureDoesNotExist() { //given User user = User.builder().id(1L).build(); - List takenLectureInformationList = new ArrayList<>(List.of( - createTakenLectureInformation("KMA02122", 2022, Semester.FIRST), - createTakenLectureInformation("KMA02135", 2023, Semester.FIRST) + List takenLectureInformationList = new ArrayList<>(List.of( + createTakenLectureInformation("KMA02122", 2022), + createTakenLectureInformation("KMA02135", 2023) )); - SaveTakenLectureCommand command = SaveTakenLectureCommand.builder() - .user(user) - .takenLectureInformationList(takenLectureInformationList) - .build(); Lecture lecture1 = createLecture("KMA02122"); given(findLecturesByLectureCodeUseCase.findLecturesByLectureCodes(List.of("KMA02122", "KMA02135"))) .willReturn(List.of(lecture1)); //when //then - assertThatThrownBy(() -> saveTakenLectureFromParsingTextService.saveTakenLectures(command)) + assertThatThrownBy( + () -> saveTakenLectureFromParsingTextService.saveTakenLectures(user, takenLectureInformationList)) .isInstanceOf(IllegalArgumentException.class) - .hasMessage("KMA02135이 데이터베이스에 존재하지 않습니다."); + .hasMessage("KMA02135이 데이터베이스에 존재하지 않습니다."); } - private SaveTakenLectureCommand.TakenLectureInformation createTakenLectureInformation( - String lectureCode, int year, Semester semester - ) { - return SaveTakenLectureCommand.TakenLectureInformation.builder() + private TakenLectureInformation createTakenLectureInformation(String lectureCode, int year) { + return TakenLectureInformation.builder() .lectureCode(lectureCode) .year(year) - .semester(semester) + .semester(Semester.FIRST) .build(); } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java index 5cdeb7d3..642c5e15 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java @@ -1,7 +1,9 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.service.update; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.BDDMockito.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.tuple; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; import java.util.ArrayList; import java.util.List; @@ -16,7 +18,6 @@ import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByIdUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update.UpdateTakenLectureCommand; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.DeleteTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; @@ -40,11 +41,6 @@ class UpdateTakenLectureServiceTest { @Test void modifyTakenLecture() { //given - UpdateTakenLectureCommand command = UpdateTakenLectureCommand.builder() - .userId(1L) - .addedTakenLectures(List.of(1L, 2L)) - .deletedTakenLectures(List.of(21L, 22L)) - .build(); User user = User.builder().id(1L).build(); Lecture lecture1 = createLecture(1L); Lecture lecture2 = createLecture(2L); @@ -53,7 +49,7 @@ void modifyTakenLecture() { ArgumentCaptor> takenLectureListCaptor = ArgumentCaptor.forClass(List.class); //when - updateTakenLectureService.modifyTakenLecture(command); + updateTakenLectureService.modifyTakenLecture(user.getId(), List.of(21L, 22L), List.of(1L, 2L)); //then then(deleteTakenLecturePort).should().deleteTakenLecturesByIds(List.of(21L, 22L)); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java index 126f0915..c0bcb474 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java @@ -15,7 +15,7 @@ import org.springframework.test.web.servlet.ResultActions; import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; -import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.ResetPasswordRequest; +import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.request.ResetPasswordRequest; import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; class ResetPasswordControllerTest extends WebAdaptorTestSupport { diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpControllerTest.java index 026768d6..631d5712 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/signup/SignUpControllerTest.java @@ -14,7 +14,7 @@ import org.springframework.test.web.servlet.ResultActions; import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; -import com.plzgraduate.myongjigraduatebe.user.api.signup.SignUpRequest; +import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.request.SignUpRequest; import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.response.AuthIdDuplicationResponse; import com.plzgraduate.myongjigraduatebe.user.api.signup.dto.response.StudentNumberDuplicationResponse; diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawControllerTest.java index 59932d41..61f897ca 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/withdraw/WithDrawControllerTest.java @@ -13,8 +13,7 @@ import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.support.WithMockAuthenticationUser; -import com.plzgraduate.myongjigraduatebe.user.api.withdraw.WithDrawRequest; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw.WithDrawCommand; +import com.plzgraduate.myongjigraduatebe.user.api.withdraw.dto.request.WithDrawRequest; class WithDrawControllerTest extends WebAdaptorTestSupport { @@ -33,7 +32,7 @@ void withDraw() throws Exception { .contentType(MediaType.APPLICATION_JSON)); //then - then(withDrawUserUseCase).should().withDraw(any(), any(WithDrawCommand.class)); + then(withDrawUserUseCase).should().withDraw(any(), any(String.class)); actions. andDo(print()) .andExpect(status().isOk()); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordServiceTest.java index fa9d2fe5..40875d2a 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/resetpassword/ResetPasswordServiceTest.java @@ -1,6 +1,6 @@ package com.plzgraduate.myongjigraduatebe.user.application.service.resetpassword; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.then; @@ -12,9 +12,8 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.crypto.password.PasswordEncoder; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.resetpassword.ResetPasswordCommand; import com.plzgraduate.myongjigraduatebe.user.application.port.UpdateUserPort; +import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @ExtendWith(MockitoExtension.class) @@ -34,18 +33,17 @@ class ResetPasswordServiceTest { @Test void resetPassword() { //given - ResetPasswordCommand resetPasswordCommand = ResetPasswordCommand.builder() - .authId("test") - .newPassword("testPassword") - .passwordCheck("testPassword").build(); + String authId = "test"; + String newPassword = "testPassword"; + String passwordCheck = "testPassword"; User user = User.builder().build(); - given(findUserUseCase.findUserByAuthId(resetPasswordCommand.getAuthId())).willReturn(user); + given(findUserUseCase.findUserByAuthId(authId)).willReturn(user); //when - resetPasswordService.resetPassword(resetPasswordCommand); + resetPasswordService.resetPassword(authId, newPassword, passwordCheck); //then - then(passwordEncoder).should().encode(resetPasswordCommand.getNewPassword()); + then(passwordEncoder).should().encode(newPassword); then(updateUserPort).should().updateUser(user); } @@ -53,30 +51,29 @@ void resetPassword() { @Test void resetPasswordWithDifferentPasswordCheck() { //given - ResetPasswordCommand resetPasswordCommand = ResetPasswordCommand.builder() - .authId("test") - .newPassword("testPassword") - .passwordCheck("differentPassword").build(); + String authId = "test"; + String newPassword = "testPassword"; + String passwordCheck = "differentPassword"; //when //then - assertThatThrownBy(() -> resetPasswordService.resetPassword(resetPasswordCommand)).isInstanceOf( - IllegalArgumentException.class) + assertThatThrownBy(() -> resetPasswordService.resetPassword(authId, newPassword, passwordCheck)) + .isInstanceOf(IllegalArgumentException.class) .hasMessage("비밀번호와 비밀번호 확인이 일치하지 않습니다."); } @DisplayName("해당 유저 아이디가 존재하지 않을 경우 예외가 발생한다.") @Test void resetPasswordNonUser() { - ResetPasswordCommand resetPasswordCommand = ResetPasswordCommand.builder() - .authId("test") - .newPassword("testPassword") - .passwordCheck("testPassword").build(); - given(findUserUseCase.findUserByAuthId(resetPasswordCommand.getAuthId())).willThrow( + String authId = "test"; + String newPassword = "testPassword"; + String passwordCheck = "testPassword"; + + given(findUserUseCase.findUserByAuthId(authId)).willThrow( new IllegalArgumentException("존재하지 않는 아이디입니다.")); //when //then - assertThatThrownBy(() -> resetPasswordService.resetPassword(resetPasswordCommand)).isInstanceOf( - IllegalArgumentException.class) + assertThatThrownBy(() -> resetPasswordService.resetPassword(authId, newPassword, passwordCheck)) + .isInstanceOf(IllegalArgumentException.class) .hasMessage("존재하지 않는 아이디입니다."); } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserServiceTest.java index 52dbda8b..fc5d0816 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/withdraw/WithDrawUserServiceTest.java @@ -1,6 +1,6 @@ package com.plzgraduate.myongjigraduatebe.user.application.service.withdraw; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.then; @@ -16,9 +16,8 @@ import com.plzgraduate.myongjigraduatebe.parsing.application.port.DeleteParsingTextHistoryPort; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.delete.DeleteTakenLectureByUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.application.usecase.withdraw.WithDrawCommand; import com.plzgraduate.myongjigraduatebe.user.application.port.DeleteUserPort; +import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @ExtendWith(MockitoExtension.class) @@ -50,11 +49,8 @@ void withDraw() { given(findUserUseCase.findUserById(user.getId())).willReturn(user); given(passwordEncoder.matches(anyString(), anyString())).willReturn(true); - WithDrawCommand withDrawCommand = WithDrawCommand.builder() - .password(password).build(); - //when //then - withDrawUserService.withDraw(user.getId(), withDrawCommand); + withDrawUserService.withDraw(user.getId(), password); then(deleteTakenLectureByUserUseCase).should().deleteAllTakenLecturesByUser(user); then(deleteParsingTextHistoryPort).should().deleteUserParsingTextHistory(user); then(deleteUserPort).should().deleteUser(user); @@ -72,11 +68,8 @@ void withDrawWithUnValidationPassword() { given(findUserUseCase.findUserById(user.getId())).willReturn(user); given(passwordEncoder.matches(anyString(), anyString())).willReturn(false); - WithDrawCommand withDrawCommand = WithDrawCommand.builder() - .password(password).build(); - //when //then - assertThatThrownBy(() -> withDrawUserService.withDraw(user.getId(), withDrawCommand)) + assertThatThrownBy(() -> withDrawUserService.withDraw(user.getId(), password)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("비밀번호가 일치하지 않습니다."); From 5563a6a51db5b80b85bbb3bc56b3e8f858e80629 Mon Sep 17 00:00:00 2001 From: 5uhwann <5uhwann27@gmail.com> Date: Fri, 15 Mar 2024 21:13:27 +0900 Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20=EC=BD=94=EB=93=9C=20=EC=BB=A8?= =?UTF-8?q?=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9=20response=20dto=20?= =?UTF-8?q?=ED=98=95=EC=8B=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lecture/api/SearchLectureController.java | 2 +- .../dto/response/SearchLectureResponse.java | 7 +- .../FindLecturesByLectureCodeService.java | 24 ------- ...dService.java => FindLecturesService.java} | 9 ++- .../service/SearchLectureService.java | 8 +-- .../usecase/FindLecturesByIdUseCase.java | 9 --- ...eUseCase.java => FindLecturesUseCase.java} | 4 +- .../usecase/SearchLectureUseCase.java | 6 +- .../api/FindTakenLectureController.java | 6 +- .../response/FindTakenLectureResponse.java | 17 ++++- .../service/find/FindTakenLectureService.java | 44 ++---------- ...aveTakenLectureFromParsingTextService.java | 6 +- .../update/UpdateTakenLectureService.java | 6 +- .../usecase/find/FindTakenLectureUseCase.java | 4 +- .../domain/model/TakenLectureInventory.java | 27 ++++++-- .../api/findauthid/FindAuthIdController.java | 3 +- .../FindUserInformationController.java | 4 +- .../dto/response/UserInformationResponse.java | 9 +++ .../ResetPasswordController.java | 3 +- .../service/find/FindUserAuthIdService.java | 5 +- .../find/FindUserInformationService.java | 9 +-- .../service/validate/ValidateUserService.java | 7 +- .../usecase/find/FindUserAuthIdUseCase.java | 4 +- .../find/FindUserInformationUseCase.java | 4 +- .../usecase/validate/ValidateUserUseCase.java | 4 +- .../api/SearchLectureControllerTest.java | 10 ++- .../find/FindLecturesByIdServiceTest.java | 4 +- .../FindLecturesByLectureCodeServiceTest.java | 10 +-- .../search/SearchLectureServiceTest.java | 9 ++- .../find/FindTakenLectureControllerTest.java | 38 +++++++--- .../find/FindTakenLectureServiceTest.java | 69 ++++++++++--------- ...akenLectureFromParsingTextServiceTest.java | 8 +-- .../update/UpdateTakenLectureServiceTest.java | 6 +- .../model/TakenLectureInventoryTest.java | 16 +++++ .../findauthid/FindAuthIdControllerTest.java | 6 +- .../FindUserInformationControllerTest.java | 10 +-- .../ResetPasswordControllerTest.java | 5 +- .../find/FindUserAuthIdServiceTest.java | 10 ++- .../find/FindUserInformationServiceTest.java | 12 ++-- .../validate/ValidateUserServiceTest.java | 11 ++- 40 files changed, 226 insertions(+), 229 deletions(-) delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByLectureCodeService.java rename src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/{FindLecturesByIdService.java => FindLecturesService.java} (76%) delete mode 100644 src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByIdUseCase.java rename src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/{FindLecturesByLectureCodeUseCase.java => FindLecturesUseCase.java} (71%) diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java index 2ce5edbe..706f006c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureController.java @@ -26,6 +26,6 @@ public SearchLectureResponse searchLecture( @RequestParam(defaultValue = "name") String type, @RequestParam @Size(min = 2, message = "검색어를 2자리 이상 입력해주세요.") String keyword ) { - return searchLectureUseCase.searchLectures(type, keyword); + return SearchLectureResponse.from(searchLectureUseCase.searchLectures(type, keyword)); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/dto/response/SearchLectureResponse.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/dto/response/SearchLectureResponse.java index 48323fb0..bebebabc 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/dto/response/SearchLectureResponse.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/api/dto/response/SearchLectureResponse.java @@ -1,6 +1,9 @@ package com.plzgraduate.myongjigraduatebe.lecture.api.dto.response; import java.util.List; +import java.util.stream.Collectors; + +import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import lombok.Builder; import lombok.Getter; @@ -17,9 +20,9 @@ private SearchLectureResponse(List lectures) { this.lectures = lectures; } - public static SearchLectureResponse from(List lectures) { + public static SearchLectureResponse from(List lectures) { return SearchLectureResponse.builder() - .lectures(lectures) + .lectures(lectures.stream().map(LectureResponse::of).collect(Collectors.toList())) .build(); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByLectureCodeService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByLectureCodeService.java deleted file mode 100644 index 07e164e5..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByLectureCodeService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.lecture.application.service; - -import java.util.List; - -import org.springframework.transaction.annotation.Transactional; - -import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByLectureCodeUseCase; -import com.plzgraduate.myongjigraduatebe.lecture.application.port.FindLecturePort; -import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; - -import lombok.RequiredArgsConstructor; - -@UseCase -@Transactional(readOnly = true) -@RequiredArgsConstructor -public class FindLecturesByLectureCodeService implements FindLecturesByLectureCodeUseCase { - - private final FindLecturePort findLecturePort; - @Override - public List findLecturesByLectureCodes(List lectureCodes) { - return findLecturePort.findLecturesByLectureCodes(lectureCodes); - } -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java similarity index 76% rename from src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java index b0221d5c..3434cc48 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesByIdService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java @@ -5,7 +5,7 @@ import org.springframework.transaction.annotation.Transactional; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByIdUseCase; +import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesUseCase; import com.plzgraduate.myongjigraduatebe.lecture.application.port.FindLecturePort; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; @@ -15,11 +15,16 @@ @Transactional(readOnly = true) @RequiredArgsConstructor // FindLecturesByLectureCodeService와 통합하는게 나아보임 -public class FindLecturesByIdService implements FindLecturesByIdUseCase { +public class FindLecturesService implements FindLecturesUseCase { private final FindLecturePort findLecturePort; @Override public List findLecturesByIds(List lectureIds) { return findLecturePort.findLecturesByIds(lectureIds); } + + @Override + public List findLecturesByLectureCodes(List lectureCodes) { + return findLecturePort.findLecturesByLectureCodes(lectureCodes); + } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java index b962b792..a5704c53 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/SearchLectureService.java @@ -1,11 +1,8 @@ package com.plzgraduate.myongjigraduatebe.lecture.application.service; import java.util.List; -import java.util.stream.Collectors; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.LectureResponse; -import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; import com.plzgraduate.myongjigraduatebe.lecture.application.port.SearchLecturePort; import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.SearchLectureUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; @@ -19,8 +16,7 @@ public class SearchLectureService implements SearchLectureUseCase { private final SearchLecturePort searchLecturePort; @Override - public SearchLectureResponse searchLectures(String type, String keyword) { - List lectures = searchLecturePort.searchLectureByNameOrCode(type, keyword); - return SearchLectureResponse.from(lectures.stream().map(LectureResponse::of).collect(Collectors.toList())); + public List searchLectures(String type, String keyword) { + return searchLecturePort.searchLectureByNameOrCode(type, keyword); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByIdUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByIdUseCase.java deleted file mode 100644 index de163b99..00000000 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByIdUseCase.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.plzgraduate.myongjigraduatebe.lecture.application.usecase; - -import java.util.List; - -import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; - -public interface FindLecturesByIdUseCase { - List findLecturesByIds(List lectureIds); -} diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByLectureCodeUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesUseCase.java similarity index 71% rename from src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByLectureCodeUseCase.java rename to src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesUseCase.java index 4390da98..390dba1a 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesByLectureCodeUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/FindLecturesUseCase.java @@ -4,6 +4,8 @@ import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -public interface FindLecturesByLectureCodeUseCase { +public interface FindLecturesUseCase { + List findLecturesByIds(List lectureIds); + List findLecturesByLectureCodes(List lectureCodes); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java index 52b991dd..28746cfc 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/usecase/SearchLectureUseCase.java @@ -1,7 +1,9 @@ package com.plzgraduate.myongjigraduatebe.lecture.application.usecase; -import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; +import java.util.List; + +import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; public interface SearchLectureUseCase { - SearchLectureResponse searchLectures(String type, String keyword); + List searchLectures(String type, String keyword); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java index ef6bc20c..8b06749e 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/FindTakenLectureController.java @@ -5,8 +5,9 @@ import com.plzgraduate.myongjigraduatebe.core.meta.LoginUser; import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureUseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureUseCase; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; import lombok.RequiredArgsConstructor; @@ -19,6 +20,7 @@ public class FindTakenLectureController implements FindTakenLectureApiPresentati @GetMapping public FindTakenLectureResponse getTakenLectures(@LoginUser Long userId) { - return findTakenLectureUseCase.findTakenLectures(userId); + TakenLectureInventory takenLectures = findTakenLectureUseCase.findTakenLectures(userId); + return FindTakenLectureResponse.from(takenLectures); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java index b75a4cf5..ebe76940 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/dto/response/FindTakenLectureResponse.java @@ -1,6 +1,12 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response; +import java.util.Collections; +import java.util.Comparator; import java.util.List; +import java.util.stream.Collectors; + +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; @@ -21,10 +27,15 @@ private FindTakenLectureResponse(int totalCredit, List tak this.takenLectures = takenLectures; } - public static FindTakenLectureResponse of(int totalCredit, List takenLectures) { + public static FindTakenLectureResponse from(TakenLectureInventory takenLectureInventory) { return FindTakenLectureResponse.builder() - .totalCredit(totalCredit) - .takenLectures(takenLectures) + .totalCredit(takenLectureInventory.calculateTotalCredit()) + .takenLectures(takenLectureInventory.getTakenLectures().stream() + .sorted(Comparator.comparing(TakenLecture::getYear, Collections.reverseOrder()) + .thenComparing(TakenLecture::getSemester, Comparator.nullsFirst(Comparator.reverseOrder())) + .thenComparing(TakenLecture::getCreatedAt, Comparator.reverseOrder())) + .map(TakenLectureResponse::from) + .collect(Collectors.toList())) .build(); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java index 1f8092d9..4644d888 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureService.java @@ -1,18 +1,15 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.service.find; -import java.util.Collections; -import java.util.Comparator; +import java.util.HashSet; import java.util.List; -import java.util.stream.Collectors; import org.springframework.transaction.annotation.Transactional; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureUseCase; -import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; -import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.TakenLectureResponse; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.FindTakenLecturePort; +import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find.FindTakenLectureUseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @@ -28,40 +25,9 @@ class FindTakenLectureService implements FindTakenLectureUseCase { private final FindTakenLecturePort findTakenLecturePort; @Override - public FindTakenLectureResponse findTakenLectures(Long userId) { + public TakenLectureInventory findTakenLectures(Long userId) { User user = findUserUseCase.findUserById(userId); List takenLectures = findTakenLecturePort.findTakenLecturesByUser(user); - sortTakenLectures(takenLectures); - return FindTakenLectureResponse.of( - calculateTotalCredit(takenLectures), - takenLectures.stream() - .map(TakenLectureResponse::from) - .collect(Collectors.toList()) - ); - } - - private void sortTakenLectures(List takenLectures) { - takenLectures.sort(Comparator.comparing(TakenLecture::getYear, Collections.reverseOrder()) - .thenComparing(TakenLecture::getSemester, Comparator.nullsFirst(Comparator.reverseOrder())) - .thenComparing(TakenLecture::getCreatedAt, Comparator.reverseOrder())); - } - - private int calculateTotalCredit(List takenLectures) { - int totalCredit = takenLectures - .stream() - .mapToInt(takenLecture -> takenLecture.getLecture().getCredit()) - .sum(); - if(checkChapelCountIsFour(takenLectures)) { - totalCredit += 2; - } - return totalCredit; - } - - private boolean checkChapelCountIsFour(List takenLectures) { - long chapelCount = takenLectures - .stream() - .filter(takenLecture -> takenLecture.getLecture().getLectureCode().equals("KMA02101")) - .count(); - return chapelCount >= 4; + return TakenLectureInventory.from(new HashSet<>(takenLectures)); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java index 37e4ac9b..6ac719aa 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextService.java @@ -9,7 +9,7 @@ import org.springframework.transaction.annotation.Transactional; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByLectureCodeUseCase; +import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.save.SaveTakenLectureFromParsingTextUseCase; @@ -25,7 +25,7 @@ class SaveTakenLectureFromParsingTextService implements SaveTakenLectureFromParsingTextUseCase { private final SaveTakenLecturePort saveTakenLecturePort; - private final FindLecturesByLectureCodeUseCase findLecturesByLectureCodeUseCase; + private final FindLecturesUseCase findLecturesUseCase; @Override public void saveTakenLectures(User user, List takenLectureInformationList) { @@ -57,7 +57,7 @@ private Map makeLectureMapByLectureCodes( List lectureCodes = takenLectureInformationList.stream() .map(TakenLectureInformation::getLectureCode) .collect(Collectors.toList()); - List lectures = findLecturesByLectureCodeUseCase.findLecturesByLectureCodes(lectureCodes); + List lectures = findLecturesUseCase.findLecturesByLectureCodes(lectureCodes); return lectures.stream() .collect(Collectors.toMap(Lecture::getLectureCode, Function.identity())); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java index ceee9b2a..3f2ccea9 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureService.java @@ -6,7 +6,7 @@ import org.springframework.transaction.annotation.Transactional; import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByIdUseCase; +import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.update.UpdateTakenLectureUseCase; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.DeleteTakenLecturePort; @@ -23,7 +23,7 @@ class UpdateTakenLectureService implements UpdateTakenLectureUseCase { private final FindUserUseCase findUserUseCase; - private final FindLecturesByIdUseCase findLecturesByIdUseCase; + private final FindLecturesUseCase findLecturesUseCase; private final DeleteTakenLecturePort deleteTakenLecturePort; private final SaveTakenLecturePort saveTakenLecturePort; @@ -31,7 +31,7 @@ class UpdateTakenLectureService implements UpdateTakenLectureUseCase { public void modifyTakenLecture(Long userId, List deletedTakenLectureIds, List addedTakenLectureIds) { User user = findUserUseCase.findUserById(userId); deleteTakenLecturePort.deleteTakenLecturesByIds(deletedTakenLectureIds); - List addedLectures = findLecturesByIdUseCase.findLecturesByIds(addedTakenLectureIds); + List addedLectures = findLecturesUseCase.findLecturesByIds(addedTakenLectureIds); addCustomTakenLectures(user, addedLectures); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java index 21a49032..0d3912c5 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/usecase/find/FindTakenLectureUseCase.java @@ -1,7 +1,7 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.usecase.find; -import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; public interface FindTakenLectureUseCase { - FindTakenLectureResponse findTakenLectures(Long userId); + TakenLectureInventory findTakenLectures(Long userId); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventory.java b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventory.java index 56e8bd91..9158e7d5 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventory.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventory.java @@ -25,13 +25,32 @@ public Set getCultureLectures() { .collect(Collectors.toSet()); } - public void handleFinishedTakenLectures(Set finishedTakenLecture) { - takenLecture.removeAll(finishedTakenLecture); - } - public static TakenLectureInventory from(Set takenLectures) { return TakenLectureInventory.builder() .takenLecture(takenLectures) .build(); } + + public void handleFinishedTakenLectures(Set finishedTakenLecture) { + takenLecture.removeAll(finishedTakenLecture); + } + + public int calculateTotalCredit() { + int totalCredit = this.takenLecture + .stream() + .mapToInt(takenLecture -> takenLecture.getLecture().getCredit()) + .sum(); + if(checkChapelCountIsFour(this.takenLecture)) { + totalCredit += 2; + } + return totalCredit; + } + + private boolean checkChapelCountIsFour(Set takenLectures) { + long chapelCount = takenLectures + .stream() + .filter(takenLecture -> takenLecture.getLecture().getLectureCode().equals("KMA02101")) + .count(); + return chapelCount >= 4; + } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdController.java index 5ab85958..31154e3a 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdController.java @@ -19,6 +19,7 @@ public class FindAuthIdController implements FindAuthIdApiPresentation { @GetMapping("/{student-number}/auth-id") public UserAuthIdResponse findUserAuthId(@PathVariable("student-number") String studentNumber) { - return findUserAuthIdUseCase.findUserAuthId(studentNumber); + String foundUserAuthId = findUserAuthIdUseCase.findUserAuthId(studentNumber); + return UserAuthIdResponse.of(foundUserAuthId, studentNumber); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationController.java index 72a4edd3..9a04f5da 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationController.java @@ -7,6 +7,7 @@ import com.plzgraduate.myongjigraduatebe.core.meta.WebAdapter; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserInformationUseCase; import com.plzgraduate.myongjigraduatebe.user.api.finduserinformation.dto.response.UserInformationResponse; +import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -19,6 +20,7 @@ public class FindUserInformationController implements FindUserInformationApiPres @GetMapping public UserInformationResponse getUserInformation(@LoginUser Long userId) { - return findUserInformationUseCase.findUserInformation(userId); + User user = findUserInformationUseCase.findUserInformation(userId); + return UserInformationResponse.from(user); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/dto/response/UserInformationResponse.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/dto/response/UserInformationResponse.java index abed479c..38e5717c 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/dto/response/UserInformationResponse.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/dto/response/UserInformationResponse.java @@ -1,5 +1,7 @@ package com.plzgraduate.myongjigraduatebe.user.api.finduserinformation.dto.response; +import com.plzgraduate.myongjigraduatebe.user.domain.model.User; + import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Getter; @@ -20,4 +22,11 @@ private UserInformationResponse(String studentNumber, String studentName, String this.studentName = studentName; this.major = major; } + + public static UserInformationResponse from(User user) { + return UserInformationResponse.builder() + .studentNumber(user.getStudentNumber()) + .studentName(user.getName()) + .major(user.getMajor()).build(); + } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java index 2a8e3d76..0ef71b1d 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordController.java @@ -29,7 +29,8 @@ public class ResetPasswordController implements ResetPasswordApiPresentation { public ValidateUserResponse validateUser( @PathVariable("student-number") String studentNumber, @RequestParam("auth-id") String authId) { - return validateUserUseCase.validateUser(studentNumber, authId); + boolean validated = validateUserUseCase.validateUser(studentNumber, authId); + return ValidateUserResponse.builder().passedUserValidation(validated).build(); } @PatchMapping("/password") diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdService.java index bec5a254..2856c9a1 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdService.java @@ -5,7 +5,6 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserAuthIdUseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.api.findauthid.dto.response.UserAuthIdResponse; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -18,8 +17,8 @@ class FindUserAuthIdService implements FindUserAuthIdUseCase { private final FindUserUseCase findUserUseCase; @Override - public UserAuthIdResponse findUserAuthId(String studentNumber) { + public String findUserAuthId(String studentNumber) { User user = findUserUseCase.findUserByStudentNumber(studentNumber); - return UserAuthIdResponse.of(user.getEncryptedAuthId(), studentNumber); + return user.getEncryptedAuthId(); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationService.java index 866f5c82..7fe06069 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationService.java @@ -5,7 +5,6 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserInformationUseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.api.finduserinformation.dto.response.UserInformationResponse; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; import lombok.RequiredArgsConstructor; @@ -17,11 +16,7 @@ class FindUserInformationService implements FindUserInformationUseCase { private final FindUserUseCase findUserUseCase; @Override - public UserInformationResponse findUserInformation(Long userId) { - User user = findUserUseCase.findUserById(userId); - return UserInformationResponse.builder() - .studentName(user.getName()) - .studentNumber(user.getStudentNumber()) - .major(user.getMajor()).build(); + public User findUserInformation(Long userId) { + return findUserUseCase.findUserById(userId); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserService.java index fae31780..bf642923 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserService.java @@ -4,7 +4,6 @@ import com.plzgraduate.myongjigraduatebe.core.meta.UseCase; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; import com.plzgraduate.myongjigraduatebe.user.application.usecase.validate.ValidateUserUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @@ -17,10 +16,8 @@ class ValidateUserService implements ValidateUserUseCase { private final FindUserUseCase findUserUseCase; @Override - public ValidateUserResponse validateUser(String studentNumber, String authId) { + public boolean validateUser(String studentNumber, String authId) { User user = findUserUseCase.findUserByStudentNumber(studentNumber); - boolean validateAuthIdResult = user.isMyAuthId(authId); - return ValidateUserResponse.builder() - .passedUserValidation(validateAuthIdResult).build(); + return user.isMyAuthId(authId); } } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserAuthIdUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserAuthIdUseCase.java index 38b70381..b7ed0bba 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserAuthIdUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserAuthIdUseCase.java @@ -1,8 +1,6 @@ package com.plzgraduate.myongjigraduatebe.user.application.usecase.find; -import com.plzgraduate.myongjigraduatebe.user.api.findauthid.dto.response.UserAuthIdResponse; - public interface FindUserAuthIdUseCase { - UserAuthIdResponse findUserAuthId(String studentNumber); + String findUserAuthId(String studentNumber); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserInformationUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserInformationUseCase.java index f664aa4a..82d9c6e4 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserInformationUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/find/FindUserInformationUseCase.java @@ -1,8 +1,8 @@ package com.plzgraduate.myongjigraduatebe.user.application.usecase.find; -import com.plzgraduate.myongjigraduatebe.user.api.finduserinformation.dto.response.UserInformationResponse; +import com.plzgraduate.myongjigraduatebe.user.domain.model.User; public interface FindUserInformationUseCase { - UserInformationResponse findUserInformation(Long userId); + User findUserInformation(Long userId); } diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/validate/ValidateUserUseCase.java b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/validate/ValidateUserUseCase.java index a919e53e..6b9c87a5 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/validate/ValidateUserUseCase.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/user/application/usecase/validate/ValidateUserUseCase.java @@ -1,8 +1,6 @@ package com.plzgraduate.myongjigraduatebe.user.application.usecase.validate; -import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; - public interface ValidateUserUseCase { - ValidateUserResponse validateUser(String studentNumber, String authId); + boolean validateUser(String studentNumber, String authId); } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java index 8486961a..53cb1462 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/api/SearchLectureControllerTest.java @@ -15,8 +15,7 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.LectureResponse; -import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; +import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.support.WithMockAuthenticationUser; @@ -27,11 +26,10 @@ class SearchLectureControllerTest extends WebAdaptorTestSupport { @Test void searchLecture() throws Exception { //given - List searchLectures = List.of( - LectureResponse.builder().id(1L).build() + List searchedLectures = List.of( + Lecture.builder().id(1L).build() ); - SearchLectureResponse searchLectureResponse = SearchLectureResponse.builder().lectures(searchLectures).build(); - given(searchLectureUseCase.searchLectures(any(), any())).willReturn(searchLectureResponse); + given(searchLectureUseCase.searchLectures(any(), any())).willReturn(searchedLectures); //when //then mockMvc.perform(get("/api/v1/lectures") diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByIdServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByIdServiceTest.java index 6de35553..6b2dc3d9 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByIdServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByIdServiceTest.java @@ -13,7 +13,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.lecture.application.port.FindLecturePort; -import com.plzgraduate.myongjigraduatebe.lecture.application.service.FindLecturesByIdService; +import com.plzgraduate.myongjigraduatebe.lecture.application.service.FindLecturesService; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; @ExtendWith(MockitoExtension.class) @@ -23,7 +23,7 @@ class FindLecturesByIdServiceTest { private FindLecturePort findLecturePort; @InjectMocks - private FindLecturesByIdService findLecturesByIdService; + private FindLecturesService findLecturesByIdService; @DisplayName("과목 아이디 리스트에 포함되는 과목들을 반환한다.") @Test diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByLectureCodeServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByLectureCodeServiceTest.java index 0542af69..d0ecc875 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByLectureCodeServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/find/FindLecturesByLectureCodeServiceTest.java @@ -1,7 +1,7 @@ package com.plzgraduate.myongjigraduatebe.lecture.application.service.find; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.BDDMockito.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.BDDMockito.given; import java.util.List; @@ -13,7 +13,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.lecture.application.port.FindLecturePort; -import com.plzgraduate.myongjigraduatebe.lecture.application.service.FindLecturesByLectureCodeService; +import com.plzgraduate.myongjigraduatebe.lecture.application.service.FindLecturesService; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; @ExtendWith(MockitoExtension.class) @@ -23,7 +23,7 @@ class FindLecturesByLectureCodeServiceTest { private FindLecturePort findLecturePort; @InjectMocks - private FindLecturesByLectureCodeService findLecturesByLectureCodeService; + private FindLecturesService findLecturesService; @DisplayName("과목 코드 리스트에 포함되는 과목들을 반환한다.") @Test @@ -38,7 +38,7 @@ void findLecturesByLectureCodes() { given(findLecturePort.findLecturesByLectureCodes(lectureCodes)).willReturn(lectures); //when - List result = findLecturesByLectureCodeService.findLecturesByLectureCodes(lectureCodes); + List result = findLecturesService.findLecturesByLectureCodes(lectureCodes); //then assertThat(result).isEqualTo(lectures); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java index 601e19a9..ae4f914c 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/search/SearchLectureServiceTest.java @@ -13,7 +13,6 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import com.plzgraduate.myongjigraduatebe.lecture.api.dto.response.SearchLectureResponse; import com.plzgraduate.myongjigraduatebe.lecture.application.port.SearchLecturePort; import com.plzgraduate.myongjigraduatebe.lecture.application.service.SearchLectureService; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; @@ -38,15 +37,15 @@ void searchLectures() { .willReturn(lectures); //when - SearchLectureResponse searchLectures = searchLectureService.searchLectures(type, keyword); + List searchedLectures = searchLectureService.searchLectures(type, keyword); //then - assertThat(searchLectures.getLectures()) + assertThat(searchedLectures) .hasSize(2) .extracting("id", "lectureCode", "name", "credit", "isRevoked") .containsExactlyInAnyOrder( - tuple(1L, "code1", "기초웹프로그래밍", 3, false), - tuple(2L, "code2", "앱과웹기초", 2, true) + tuple(1L, "code1", "기초웹프로그래밍", 3, 0), + tuple(2L, "code2", "앱과웹기초", 2, 1) ); } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java index 83e4a7a2..56dbe7cd 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/api/find/FindTakenLectureControllerTest.java @@ -7,16 +7,18 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import java.util.ArrayList; -import java.util.List; +import java.util.HashSet; +import java.util.Set; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.support.WithMockAuthenticationUser; -import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; -import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.TakenLectureResponse; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.Semester; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; class FindTakenLectureControllerTest extends WebAdaptorTestSupport { @@ -25,12 +27,28 @@ class FindTakenLectureControllerTest extends WebAdaptorTestSupport { @Test void getTakenLectures() throws Exception { //given - List takenLectures = new ArrayList<>(); - FindTakenLectureResponse response = FindTakenLectureResponse.builder() - .totalCredit(10) - .takenLectures(takenLectures) - .build(); - given(findTakenLectureUseCase.findTakenLectures(anyLong())).willReturn(response); + HashSet takenLectures = new HashSet<>(Set.of( + TakenLecture.builder() + .lecture(Lecture.builder() + .lectureCode("KMA") + .credit(4).build()) + .year(2020) + .semester(Semester.FIRST).build(), + TakenLecture.builder() + .lecture(Lecture.builder() + .lectureCode("KMB") + .credit(3).build()) + .year(2020) + .semester(Semester.SECOND).build(), + TakenLecture.builder() + .lecture(Lecture.builder() + .lectureCode("KMC") + .credit(3).build()) + .year(2021) + .semester(Semester.FIRST).build() + )); + TakenLectureInventory takenLectureInventory = TakenLectureInventory.from(takenLectures); + given(findTakenLectureUseCase.findTakenLectures(anyLong())).willReturn(takenLectureInventory); //when //when mockMvc.perform( diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java index 6c6511af..1578f4ae 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/find/FindTakenLectureServiceTest.java @@ -1,7 +1,10 @@ package com.plzgraduate.myongjigraduatebe.takenlecture.application.service.find; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.BDDMockito.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.tuple; +import static org.mockito.BDDMockito.any; +import static org.mockito.BDDMockito.anyLong; +import static org.mockito.BDDMockito.given; import java.time.Instant; import java.util.ArrayList; @@ -15,10 +18,10 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; -import com.plzgraduate.myongjigraduatebe.takenlecture.api.dto.response.FindTakenLectureResponse; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.FindTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.Semester; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; +import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @@ -32,27 +35,27 @@ class FindTakenLectureServiceTest { @InjectMocks private FindTakenLectureService findTakenLectureService; - @DisplayName("해당 학생의 수강정보를 조회하고 정렬한다.") + @DisplayName("해당 학생의 수강정보를 조회한다.") @Test void findTakenLectures() { //given User user = User.builder().id(1L).build(); Lecture 채플 = createLecture(1L, "KMA02101", "채플", 0); - Lecture 영어1 = createLecture(2L, "KMA02106", "영어1",2); - Lecture 영어2 = createLecture(3L, "KMA02107", "영어2",2); - Lecture 글쓰기 = createLecture(4L, "KMA02104", "글쓰기",3); - Lecture 세계화와사회변화 = createLecture(5L, "KMA02113", "세계화와사회변화",3); + Lecture 영어1 = createLecture(2L, "KMA02106", "영어1", 2); + Lecture 영어2 = createLecture(3L, "KMA02107", "영어2", 2); + Lecture 글쓰기 = createLecture(4L, "KMA02104", "글쓰기", 3); + Lecture 세계화와사회변화 = createLecture(5L, "KMA02113", "세계화와사회변화", 3); Lecture 고전으로읽는인문학 = createLecture(6L, "KMA02130", "고전으로읽는인문학", 3); Lecture 사차산업혁명과미래사회진로선택 = createLecture(7L, "KMA02141", "4차산업혁명과미래사회진로선택", 2); - Instant basicTime = Instant.parse("2022-02-15T00:00:00.00Z"); - Instant customTime1 = Instant.parse("2022-12-15T00:00:00.00Z"); + Instant basicTime = Instant.parse("2022-02-15T00:00:00.00Z"); Instant customTime2 = Instant.parse("2022-12-15T00:10:00.00Z"); + Instant customTime1 = Instant.parse("2022-12-15T00:00:00.00Z"); List takenLectures = new ArrayList<>(List.of( createTakenLecture(1L, user, 채플, 2020, Semester.FIRST, basicTime), createTakenLecture(2L, user, 채플, 2021, Semester.FIRST, basicTime), + createTakenLecture(4L, user, 글쓰기, 2020, Semester.WINTER, basicTime), createTakenLecture(3L, user, 고전으로읽는인문학, 2020, Semester.SECOND, basicTime), - createTakenLecture(4L, user, 글쓰기,2020, Semester.WINTER, basicTime), createTakenLecture(5L, user, 영어1, 2020, Semester.SUMMER, basicTime), createTakenLecture(6L, user, 세계화와사회변화, 2021, Semester.SECOND, basicTime), createTakenLecture(7L, user, 영어2, 2099, null, customTime1), @@ -63,22 +66,22 @@ void findTakenLectures() { given(findTakenLecturePort.findTakenLecturesByUser(any(User.class))).willReturn(takenLectures); //when - FindTakenLectureResponse response = findTakenLectureService.findTakenLectures(1L); + TakenLectureInventory foundTakenLectures = findTakenLectureService.findTakenLectures(1L); //then - assertThat(response.getTotalCredit()).isEqualTo(15); - assertThat(response.getTakenLectures()) + assertThat(foundTakenLectures.calculateTotalCredit()).isEqualTo(15); + assertThat(foundTakenLectures.getTakenLectures()) .hasSize(8) - .extracting("id", "year", "semester", "lectureCode", "lectureName", "credit") - .containsExactly( - tuple(8L, "CUSTOM", "CUSTOM", "KMA02141", "4차산업혁명과미래사회진로선택", 2), - tuple(7L, "CUSTOM", "CUSTOM", "KMA02107", "영어2", 2), - tuple(6L, "2021", "2학기", "KMA02113", "세계화와사회변화", 3), - tuple(2L, "2021", "1학기", "KMA02101", "채플", 0), - tuple(4L, "2020", "동계계절", "KMA02104", "글쓰기", 3), - tuple(3L, "2020", "2학기", "KMA02130", "고전으로읽는인문학", 3), - tuple(5L, "2020", "하계계절", "KMA02106", "영어1", 2), - tuple(1L, "2020", "1학기", "KMA02101", "채플", 0) + .extracting("id", "lecture") + .contains( + tuple(8L, 사차산업혁명과미래사회진로선택), + tuple(7L, 영어2), + tuple(6L, 세계화와사회변화), + tuple(2L, 채플), + tuple(4L, 글쓰기), + tuple(3L, 고전으로읽는인문학), + tuple(5L, 영어1), + tuple(1L, 채플) ); } @@ -88,21 +91,21 @@ void addTwoPointIfChapelCountIsOver4() { //given User user = User.builder().id(1L).build(); Lecture 채플 = createLecture(1L, "KMA02101", "채플", 0); - Lecture 영어1 = createLecture(2L, "KMA02106", "영어1",2); - Lecture 영어2 = createLecture(3L, "KMA02107", "영어2",2); - Lecture 글쓰기 = createLecture(4L, "KMA02104", "글쓰기",3); - Lecture 세계화와사회변화 = createLecture(5L, "KMA02113", "세계화와사회변화",3); + Lecture 영어1 = createLecture(2L, "KMA02106", "영어1", 2); + Lecture 영어2 = createLecture(3L, "KMA02107", "영어2", 2); + Lecture 글쓰기 = createLecture(4L, "KMA02104", "글쓰기", 3); + Lecture 세계화와사회변화 = createLecture(5L, "KMA02113", "세계화와사회변화", 3); Lecture 고전으로읽는인문학 = createLecture(6L, "KMA02130", "고전으로읽는인문학", 3); Lecture 사차산업혁명과미래사회진로선택 = createLecture(7L, "KMA02141", "4차산업혁명과미래사회진로선택", 2); - Instant basicTime = Instant.parse("2022-02-15T00:00:00.00Z"); + Instant basicTime = Instant.parse("2022-02-15T00:00:00.00Z"); Instant customTime1 = Instant.parse("2022-12-15T00:00:00.00Z"); Instant customTime2 = Instant.parse("2022-12-15T00:10:00.00Z"); List takenLectures = new ArrayList<>(List.of( createTakenLecture(1L, user, 채플, 2020, Semester.FIRST, basicTime), createTakenLecture(2L, user, 채플, 2021, Semester.FIRST, basicTime), createTakenLecture(3L, user, 고전으로읽는인문학, 2020, Semester.SECOND, basicTime), - createTakenLecture(4L, user, 글쓰기,2020, Semester.WINTER, basicTime), + createTakenLecture(4L, user, 글쓰기, 2020, Semester.WINTER, basicTime), createTakenLecture(5L, user, 영어1, 2020, Semester.SUMMER, basicTime), createTakenLecture(6L, user, 세계화와사회변화, 2021, Semester.SECOND, basicTime), createTakenLecture(7L, user, 영어2, 2099, null, customTime1), @@ -115,11 +118,11 @@ void addTwoPointIfChapelCountIsOver4() { given(findTakenLecturePort.findTakenLecturesByUser(any(User.class))).willReturn(takenLectures); //when - FindTakenLectureResponse response = findTakenLectureService.findTakenLectures(1L); + TakenLectureInventory foundTakenLectures = findTakenLectureService.findTakenLectures(1L); //then - assertThat(response.getTotalCredit()).isEqualTo(17); - assertThat(response.getTakenLectures()).hasSize(10); + assertThat(foundTakenLectures.calculateTotalCredit()).isEqualTo(17); + assertThat(foundTakenLectures.getTakenLectures()).hasSize(10); } private TakenLecture createTakenLecture(Long id, User user, Lecture lecture, Integer year, diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java index a8f70952..9c2b8327 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/save/SaveTakenLectureFromParsingTextServiceTest.java @@ -17,7 +17,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByLectureCodeUseCase; +import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.Semester; @@ -31,7 +31,7 @@ class SaveTakenLectureFromParsingTextServiceTest { @Mock private SaveTakenLecturePort saveTakenLecturePort; @Mock - private FindLecturesByLectureCodeUseCase findLecturesByLectureCodeUseCase; + private FindLecturesUseCase findLecturesUseCase; @InjectMocks private SaveTakenLectureFromParsingTextService saveTakenLectureFromParsingTextService; @@ -46,7 +46,7 @@ void saveTakenLectures() { )); Lecture lecture1 = createLecture("KMA02122"); Lecture lecture2 = createLecture("KMA02135"); - given(findLecturesByLectureCodeUseCase.findLecturesByLectureCodes(List.of("KMA02122", "KMA02135"))) + given(findLecturesUseCase.findLecturesByLectureCodes(List.of("KMA02122", "KMA02135"))) .willReturn(List.of(lecture1, lecture2)); ArgumentCaptor> takenLectureListCaptor = ArgumentCaptor.forClass(List.class); @@ -75,7 +75,7 @@ void lectureDoesNotExist() { createTakenLectureInformation("KMA02135", 2023) )); Lecture lecture1 = createLecture("KMA02122"); - given(findLecturesByLectureCodeUseCase.findLecturesByLectureCodes(List.of("KMA02122", "KMA02135"))) + given(findLecturesUseCase.findLecturesByLectureCodes(List.of("KMA02122", "KMA02135"))) .willReturn(List.of(lecture1)); //when //then diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java index 642c5e15..28d35f77 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/application/service/update/UpdateTakenLectureServiceTest.java @@ -16,7 +16,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesByIdUseCase; +import com.plzgraduate.myongjigraduatebe.lecture.application.usecase.FindLecturesUseCase; import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.DeleteTakenLecturePort; import com.plzgraduate.myongjigraduatebe.takenlecture.application.port.SaveTakenLecturePort; @@ -29,7 +29,7 @@ class UpdateTakenLectureServiceTest { @Mock private FindUserUseCase findUserUseCase; @Mock - private FindLecturesByIdUseCase findLecturesByIdUseCase; + private FindLecturesUseCase findLecturesUseCase; @Mock private DeleteTakenLecturePort deleteTakenLecturePort; @Mock @@ -44,7 +44,7 @@ void modifyTakenLecture() { User user = User.builder().id(1L).build(); Lecture lecture1 = createLecture(1L); Lecture lecture2 = createLecture(2L); - given(findLecturesByIdUseCase.findLecturesByIds(List.of(1L, 2L))) + given(findLecturesUseCase.findLecturesByIds(List.of(1L, 2L))) .willReturn(new ArrayList<>(List.of(lecture1, lecture2))); ArgumentCaptor> takenLectureListCaptor = ArgumentCaptor.forClass(List.class); diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java index 7fce3f2d..f85c4ded 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java @@ -68,4 +68,20 @@ void handleFinishedTakenLectures() { .hasSize(beforeHandleSize - finishedTakenLecture.size()); } + @DisplayName("총 수강학점을 계산한다.") + @Test + void calculateTotalCredit() { + //given + Set takenLectures = new HashSet<>(Set.of( + TakenLecture.of(user, mockLectureMap.get("KMA00101"), 2019, Semester.FIRST), // credit 2 + TakenLecture.of(user, mockLectureMap.get("KMA02102"), 2019, Semester.FIRST) // credit 2 + )); + TakenLectureInventory takenLectureInventory = TakenLectureInventory.from(takenLectures); + + //when + int calculatedCredit = takenLectureInventory.calculateTotalCredit(); + + //then + assertThat(calculatedCredit).isEqualTo(6); + } } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdControllerTest.java index 711cdf7b..0b9dfd74 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/findauthid/FindAuthIdControllerTest.java @@ -12,7 +12,6 @@ import org.junit.jupiter.api.Test; import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; -import com.plzgraduate.myongjigraduatebe.user.api.findauthid.dto.response.UserAuthIdResponse; class FindAuthIdControllerTest extends WebAdaptorTestSupport { @@ -22,10 +21,7 @@ void findUserAuthId() throws Exception { //given String studentNumber = "60191111"; String encryptedAuthId = "test***"; - UserAuthIdResponse userAuthIdResponse = UserAuthIdResponse.builder() - .authId(encryptedAuthId) - .studentNumber(studentNumber).build(); - given(findUserAuthIdUseCase.findUserAuthId(studentNumber)).willReturn(userAuthIdResponse); + given(findUserAuthIdUseCase.findUserAuthId(studentNumber)).willReturn(encryptedAuthId); //when //then mockMvc.perform(get("/api/v1/users/{student-number}/auth-id", studentNumber)) diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationControllerTest.java index 9083506a..bf76b2d9 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/finduserinformation/FindUserInformationControllerTest.java @@ -11,7 +11,7 @@ import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.support.WithMockAuthenticationUser; -import com.plzgraduate.myongjigraduatebe.user.api.finduserinformation.dto.response.UserInformationResponse; +import com.plzgraduate.myongjigraduatebe.user.domain.model.User; class FindUserInformationControllerTest extends WebAdaptorTestSupport { @@ -24,12 +24,14 @@ void getUserInformation() throws Exception { String studentNumber = "111111111"; String studentName = "testUser"; String major = "testMajor"; - UserInformationResponse response = UserInformationResponse.builder() + + User user = User.builder() + .id(userId) .studentNumber(studentNumber) - .studentName(studentName) + .name(studentName) .major(major).build(); - given(findUserInformationUseCase.findUserInformation(userId)).willReturn(response); + given(findUserInformationUseCase.findUserInformation(userId)).willReturn(user); //when //then mockMvc.perform(get("/api/v1/users/me")) diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java index c0bcb474..981e6554 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/api/resetpassword/ResetPasswordControllerTest.java @@ -16,7 +16,6 @@ import com.plzgraduate.myongjigraduatebe.support.WebAdaptorTestSupport; import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.request.ResetPasswordRequest; -import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; class ResetPasswordControllerTest extends WebAdaptorTestSupport { @@ -26,9 +25,7 @@ void validateUser() throws Exception { //given String studentNumber = "60191656"; String authId = "testAuthId"; - ValidateUserResponse response = ValidateUserResponse.builder() - .passedUserValidation(true).build(); - given(validateUserUseCase.validateUser(studentNumber, authId)).willReturn(response); + given(validateUserUseCase.validateUser(studentNumber, authId)).willReturn(true); //when //then mockMvc.perform(get("/api/v1/users/{student-number}/validate", studentNumber) diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdServiceTest.java index 7230f978..7ec4d1cb 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserAuthIdServiceTest.java @@ -1,10 +1,10 @@ package com.plzgraduate.myongjigraduatebe.user.application.service.find; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; - import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -13,7 +13,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.api.findauthid.dto.response.UserAuthIdResponse; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @ExtendWith(MockitoExtension.class) @@ -38,11 +37,10 @@ void findUserAuthId() { given(findUserUseCase.findUserByStudentNumber(anyString())).willReturn(user); //when - UserAuthIdResponse userAuthIdResponse = findUserAuthIdService.findUserAuthId(studentNumber); + String userAuthId = findUserAuthIdService.findUserAuthId(studentNumber); //then - assertThat(userAuthIdResponse).extracting("authId", "studentNumber") - .contains("teste***", studentNumber); + assertThat(userAuthId).isEqualTo("teste***"); } @DisplayName("학번에 해당하는 유저가 존재하지 않을 경우 예외가 발생한다.") diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationServiceTest.java index 7a388fc5..09549ebb 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/find/FindUserInformationServiceTest.java @@ -1,6 +1,6 @@ package com.plzgraduate.myongjigraduatebe.user.application.service.find; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; import org.junit.jupiter.api.DisplayName; @@ -11,7 +11,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.api.finduserinformation.dto.response.UserInformationResponse; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @ExtendWith(MockitoExtension.class) @@ -32,20 +31,19 @@ void findUserInformation() { String studentNumber = "11111111"; String major = "testMajor"; - User user = User.builder() + User foundUser = User.builder() .id(userId) .name(studentName) .studentNumber(studentNumber) .major(major).build(); - given(findUserUseCase.findUserById(userId)).willReturn(user); + given(findUserUseCase.findUserById(userId)).willReturn(foundUser); //when - UserInformationResponse userInformationResponse = findUserInformationService.findUserInformation(userId); + User user = findUserInformationService.findUserInformation(userId); //then - assertThat(userInformationResponse).extracting("studentNumber", "studentName", "major") - .contains(studentNumber, studentName, major); + assertThat(user).isEqualTo(foundUser); } } diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserServiceTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserServiceTest.java index a295a679..7f419af2 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserServiceTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/user/application/service/validate/ValidateUserServiceTest.java @@ -1,6 +1,6 @@ package com.plzgraduate.myongjigraduatebe.user.application.service.validate; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; import org.junit.jupiter.api.DisplayName; @@ -11,7 +11,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.plzgraduate.myongjigraduatebe.user.application.usecase.find.FindUserUseCase; -import com.plzgraduate.myongjigraduatebe.user.api.resetpassword.dto.response.ValidateUserResponse; import com.plzgraduate.myongjigraduatebe.user.domain.model.User; @ExtendWith(MockitoExtension.class) @@ -34,10 +33,10 @@ void validatePassedUser() { given(findUserUseCase.findUserByStudentNumber(studentNumber)).willReturn(user); //when - ValidateUserResponse validateUserResponse = validateUserService.validateUser(studentNumber, authId); + boolean validated = validateUserService.validateUser(studentNumber, authId); //then - assertThat(validateUserResponse.isPassedUserValidation()).isTrue(); + assertThat(validated).isTrue(); } @DisplayName("실패: 학번으로 유저를 조회 후 로그인 아이디가 맞는지 검증한다.") @@ -51,10 +50,10 @@ void validateNonPassedUser() { given(findUserUseCase.findUserByStudentNumber(studentNumber)).willReturn(user); //when - ValidateUserResponse validateUserResponse = validateUserService.validateUser(studentNumber, authId); + boolean validated = validateUserService.validateUser(studentNumber, authId); //then - assertThat(validateUserResponse.isPassedUserValidation()).isFalse(); + assertThat(validated).isFalse(); } } From c254bea6bc82ee3ccd5c2add6b61d19a6b5e1a9d Mon Sep 17 00:00:00 2001 From: 5uhwann <5uhwann27@gmail.com> Date: Fri, 15 Mar 2024 21:31:44 +0900 Subject: [PATCH 4/5] =?UTF-8?q?test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../takenlecture/domain/model/TakenLectureInventoryTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java index f85c4ded..56ac0923 100644 --- a/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java +++ b/src/test/java/com/plzgraduate/myongjigraduatebe/takenlecture/domain/model/TakenLectureInventoryTest.java @@ -82,6 +82,6 @@ void calculateTotalCredit() { int calculatedCredit = takenLectureInventory.calculateTotalCredit(); //then - assertThat(calculatedCredit).isEqualTo(6); + assertThat(calculatedCredit).isEqualTo(4); } } From ee80c8e7d233a8d5212996a8e05c8e39ffdec965 Mon Sep 17 00:00:00 2001 From: 5uhwann <5uhwann27@gmail.com> Date: Sun, 17 Mar 2024 15:39:37 +0900 Subject: [PATCH 5/5] =?UTF-8?q?refactor:=20=EB=B6=88=ED=95=84=EC=9A=94=20?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lecture/application/service/FindLecturesService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java index 3434cc48..d23db504 100644 --- a/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java +++ b/src/main/java/com/plzgraduate/myongjigraduatebe/lecture/application/service/FindLecturesService.java @@ -14,7 +14,6 @@ @UseCase @Transactional(readOnly = true) @RequiredArgsConstructor -// FindLecturesByLectureCodeService와 통합하는게 나아보임 public class FindLecturesService implements FindLecturesUseCase { private final FindLecturePort findLecturePort;