From 6708e14dd18de15e4975f1e16264c9a36797cbb1 Mon Sep 17 00:00:00 2001 From: kelly6bf Date: Fri, 11 Oct 2024 01:16:13 +0900 Subject: [PATCH 1/7] =?UTF-8?q?feat:=20=ED=8E=98=EC=96=B4=EB=A3=B8=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EA=B8=B0=EC=A1=B4=20=ED=8E=98=EC=96=B4=EB=A3=B8=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EA=B8=B0=EB=8A=A5=EC=97=90=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=EB=90=9C=20=ED=8E=98=EC=96=B4=EB=A3=B8=EC=9D=84=20=EA=B2=80?= =?UTF-8?q?=EC=A6=9D=ED=95=98=EB=8A=94=20=EB=A1=9C=EC=A7=81=EB=8F=84=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=ED=95=A8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PairRoomController.java | 7 +++ .../controller/docs/PairRoomDocs.java | 7 +++ .../coduo/pairroom/domain/PairRoomStatus.java | 3 +- .../exception/DeletePairRoomException.java | 8 +++ .../pairroom/repository/PairRoomEntity.java | 4 ++ .../repository/PairRoomRepository.java | 3 ++ .../pairroom/service/PairRoomService.java | 30 +++++++++-- .../pairroom/domain/PairRoomEntityTest.java | 34 ++++++++++++ .../pairroom/service/PairRoomServiceTest.java | 53 ++++++++++++++++++- 9 files changed, 142 insertions(+), 7 deletions(-) create mode 100644 backend/src/main/java/site/coduo/pairroom/exception/DeletePairRoomException.java diff --git a/backend/src/main/java/site/coduo/pairroom/controller/PairRoomController.java b/backend/src/main/java/site/coduo/pairroom/controller/PairRoomController.java index c27bc620..3d953dcb 100644 --- a/backend/src/main/java/site/coduo/pairroom/controller/PairRoomController.java +++ b/backend/src/main/java/site/coduo/pairroom/controller/PairRoomController.java @@ -9,6 +9,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CookieValue; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -92,4 +93,10 @@ public ResponseEntity pairRoomExists(@RequestParam("acces return ResponseEntity.ok(response); } + + @DeleteMapping("/pair-room/{accessCode}") + public ResponseEntity deletePairRoom(@PathVariable("accessCode") final String accessCode) { + pairRoomService.deletePairRoom(accessCode); + return ResponseEntity.noContent().build(); + } } diff --git a/backend/src/main/java/site/coduo/pairroom/controller/docs/PairRoomDocs.java b/backend/src/main/java/site/coduo/pairroom/controller/docs/PairRoomDocs.java index f2727b27..693efb48 100644 --- a/backend/src/main/java/site/coduo/pairroom/controller/docs/PairRoomDocs.java +++ b/backend/src/main/java/site/coduo/pairroom/controller/docs/PairRoomDocs.java @@ -74,4 +74,11 @@ ResponseEntity> getPairRooms( @ApiResponse(responseCode = "200", description = "페어룸 존재 여부", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = PairRoomExistResponse.class))) ResponseEntity pairRoomExists(String accessCode); + + @Operation(summary = "페어룸을 삭제한다.") + @ApiResponse(responseCode = "204", description = "페어룸 삭제 성공") + ResponseEntity deletePairRoom( + @Parameter(description = "페어룸 접근 코드", required = true) + String accessCode + ); } diff --git a/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java b/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java index 7500dc46..58f71388 100644 --- a/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java +++ b/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java @@ -12,7 +12,8 @@ public enum PairRoomStatus { IN_PROGRESS, - COMPLETED; + COMPLETED, + DELETE; private static final Map STATUS = Arrays.stream(values()) .collect(Collectors.toMap(PairRoomStatus::name, Function.identity())); diff --git a/backend/src/main/java/site/coduo/pairroom/exception/DeletePairRoomException.java b/backend/src/main/java/site/coduo/pairroom/exception/DeletePairRoomException.java new file mode 100644 index 00000000..a470d3ed --- /dev/null +++ b/backend/src/main/java/site/coduo/pairroom/exception/DeletePairRoomException.java @@ -0,0 +1,8 @@ +package site.coduo.pairroom.exception; + +public class DeletePairRoomException extends PairRoomException { + + public DeletePairRoomException(final String message) { + super(message); + } +} diff --git a/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java b/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java index fa2252c5..207571a2 100644 --- a/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java +++ b/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java @@ -84,6 +84,10 @@ public void swapNavigatorWithDriver() { this.driver = temp; } + public boolean isDelete() { + return status == PairRoomStatus.DELETE; + } + @Override public boolean equals(final Object o) { if (this == o) { diff --git a/backend/src/main/java/site/coduo/pairroom/repository/PairRoomRepository.java b/backend/src/main/java/site/coduo/pairroom/repository/PairRoomRepository.java index 9ca969ba..9f1bec18 100644 --- a/backend/src/main/java/site/coduo/pairroom/repository/PairRoomRepository.java +++ b/backend/src/main/java/site/coduo/pairroom/repository/PairRoomRepository.java @@ -4,6 +4,7 @@ import org.springframework.data.jpa.repository.JpaRepository; +import site.coduo.pairroom.domain.PairRoomStatus; import site.coduo.pairroom.domain.accesscode.AccessCode; import site.coduo.pairroom.exception.PairRoomNotFoundException; @@ -22,4 +23,6 @@ default PairRoomEntity fetchByAccessCode(AccessCode accessCode) { } boolean existsByAccessCode(String generatedAccessCode); + + boolean existsByAccessCodeAndStatusNot(String accessCode, PairRoomStatus status); } diff --git a/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java b/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java index bec2afc1..e59c3cde 100644 --- a/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java +++ b/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java @@ -17,6 +17,7 @@ import site.coduo.pairroom.domain.PairRoomStatus; import site.coduo.pairroom.domain.accesscode.AccessCode; import site.coduo.pairroom.domain.accesscode.UUIDAccessCodeGenerator; +import site.coduo.pairroom.exception.DeletePairRoomException; import site.coduo.pairroom.repository.PairRoomEntity; import site.coduo.pairroom.repository.PairRoomMemberEntity; import site.coduo.pairroom.repository.PairRoomMemberRepository; @@ -56,7 +57,7 @@ public String savePairRoom(final PairRoomCreateRequest request, @Nullable final } public boolean existsByAccessCode(final String accessCode) { - return pairRoomRepository.existsByAccessCode(accessCode); + return pairRoomRepository.existsByAccessCodeAndStatusNot(accessCode, PairRoomStatus.DELETE); } private PairRoom createPairRoom(final PairRoomCreateRequest request) { @@ -77,18 +78,27 @@ private AccessCode generateAccessCode() { @Transactional public void updateNavigatorWithDriver(final String accessCode) { final PairRoomEntity pairRoomEntity = pairRoomRepository.fetchByAccessCode(accessCode); + checkDeletePairRoom(pairRoomEntity); pairRoomEntity.swapNavigatorWithDriver(); } + private void checkDeletePairRoom(final PairRoomEntity pairRoomEntity) { + if (pairRoomEntity.isDelete()) { + throw new DeletePairRoomException("삭제된 페어룸입니다."); + } + } + @Transactional public void updatePairRoomStatus(final String accessCode, final String statusName) { + final PairRoomEntity pairRoomEntity = pairRoomRepository.fetchByAccessCode(accessCode); + checkDeletePairRoom(pairRoomEntity); final PairRoomStatus status = PairRoomStatus.findByName(statusName); - final PairRoomEntity entity = pairRoomRepository.fetchByAccessCode(accessCode); - entity.updateStatus(status); + pairRoomEntity.updateStatus(status); } public PairRoomReadResponse findPairRoomAndTimer(final String accessCode) { final PairRoomEntity pairRoomEntity = pairRoomRepository.fetchByAccessCode(accessCode); + checkDeletePairRoom(pairRoomEntity); final TimerEntity timerEntity = timerRepository.fetchTimerByPairRoomEntity(pairRoomEntity); return PairRoomReadResponse.of(pairRoomEntity.toDomain(), timerEntity.toDomain()); } @@ -97,10 +107,20 @@ public List findPairRooms(final String token) { final Member member = memberService.findMemberByCredential(token); final List pairRooms = pairRoomMemberRepository.findByMember(member); - - return pairRooms.stream() + final List pairRoomEntities = pairRooms.stream() .map(PairRoomMemberEntity::getPairRoom) + .filter(pairRoomEntity -> !pairRoomEntity.isDelete()) + .toList(); + + return pairRoomEntities.stream() .map(PairRoomMemberResponse::from) .toList(); } + + @Transactional + public void deletePairRoom(final String accessCode) { + final PairRoomEntity pairRoomEntity = pairRoomRepository.fetchByAccessCode(accessCode); + checkDeletePairRoom(pairRoomEntity); + pairRoomEntity.updateStatus(PairRoomStatus.DELETE); + } } diff --git a/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java b/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java index d3771592..4b9d961d 100644 --- a/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java +++ b/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java @@ -45,4 +45,38 @@ void change_nav_and_driver() { .extracting("navigator", "driver") .contains("dri", "navi"); } + + @Test + @DisplayName("페어룸 상태가 DELETE면 true를 반환한다.") + void pairRoomEntityStatusIsDelete() { + // Given + final PairRoomEntity sut = PairRoomEntity.from( + new PairRoom(PairRoomStatus.DELETE, + new Pair(new PairName("navi"), new PairName("dri")), + new AccessCode("access")) + ); + + // When + final boolean isDelete = sut.isDelete(); + + // Then + assertThat(isDelete).isTrue(); + } + + @Test + @DisplayName("페어룸 상태가 DELETE가 아니면 false를 반환한다.") + void pairRoomEntityStatusIsNotDelete() { + // Given + final PairRoomEntity sut = PairRoomEntity.from( + new PairRoom(PairRoomStatus.IN_PROGRESS, + new Pair(new PairName("navi"), new PairName("dri")), + new AccessCode("access")) + ); + + // When + final boolean isDelete = sut.isDelete(); + + // Then + assertThat(isDelete).isFalse(); + } } diff --git a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java index b02c5070..f99654d1 100644 --- a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java +++ b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java @@ -22,6 +22,7 @@ import site.coduo.pairroom.domain.PairRoom; import site.coduo.pairroom.domain.PairRoomStatus; import site.coduo.pairroom.domain.accesscode.AccessCode; +import site.coduo.pairroom.exception.DeletePairRoomException; import site.coduo.pairroom.exception.PairRoomNotFoundException; import site.coduo.pairroom.repository.PairRoomEntity; import site.coduo.pairroom.repository.PairRoomRepository; @@ -91,6 +92,21 @@ void throw_exception_when_find_not_exist_access_code() { .isExactlyInstanceOf(PairRoomNotFoundException.class); } + @Test + @Transactional + @DisplayName("삭제된 페어룸의 접근 코드를 찾으면 예외가 발생한다.") + void throw_exception_when_find_delete_pair_room_access_code() { + // given + final PairRoomCreateRequest request = + new PairRoomCreateRequest("레디", "프람", 1000L, 100L, + PairRoomStatus.DELETE.name()); + final String accessCode = pairRoomService.savePairRoom(request, null); + + // when & then + assertThatThrownBy(() -> pairRoomService.findPairRoomAndTimer(accessCode)) + .isExactlyInstanceOf(DeletePairRoomException.class); + } + @Test @DisplayName("페어룸 상태를 변경한다.") void update_pair_room_status() { @@ -107,6 +123,19 @@ void update_pair_room_status() { .isEqualTo(PairRoomStatus.COMPLETED); } + @Test + @DisplayName("삭제된 페어룸 상태를 변경하려고 하면 예외를 발생시킨다.") + void update_delete_pair_room_status() { + // given + final PairRoomCreateRequest request = + new PairRoomCreateRequest("레디", "프람", 1000L, 100L, PairRoomStatus.DELETE.name()); + final String accessCode = pairRoomService.savePairRoom(request, null); + + // when & then + assertThatThrownBy(() -> pairRoomService.updatePairRoomStatus(accessCode, PairRoomStatus.COMPLETED.name())) + .isExactlyInstanceOf(DeletePairRoomException.class); + } + @Test @DisplayName("페어 역할을 변경한다.") void change_pair_room() { @@ -127,8 +156,24 @@ void change_pair_room() { .contains("lemonL", "fram"); } + @Test + @DisplayName("삭제된 페어룸의 페어 역할을 변경하려하면 예외를 발생시킨다.") + void change_delete_pair_room_role() { + // given + final PairRoomEntity entity = PairRoomEntity.from( + new PairRoom(PairRoomStatus.DELETE, + new Pair(new PairName("fram"), new PairName("lemonL")), + new AccessCode("1234")) + ); + pairRoomRepository.save(entity); - @DisplayName("멤버의 방 목록을 가져온다.") + // when & then + assertThatThrownBy(() -> pairRoomService.updateNavigatorWithDriver(entity.getAccessCode())) + .isExactlyInstanceOf(DeletePairRoomException.class); + } + + + @DisplayName("삭제되지 않은, 멤버의 방 목록을 가져온다.") @Test void find_rooms_by_member() { //given @@ -143,6 +188,12 @@ void find_rooms_by_member() { final String accessCodeB_1 = pairRoomService.savePairRoom(pairRoomCreateRequest, memberB.getAccessToken()); pairRoomService.savePairRoom(pairRoomCreateRequest, null); + final PairRoomCreateRequest deletePairRoomCreateRequest = new PairRoomCreateRequest("레디", "잉크", 1, 1, + "DELETE"); + pairRoomService.savePairRoom(deletePairRoomCreateRequest, memberA.getAccessToken()); + pairRoomService.savePairRoom(deletePairRoomCreateRequest, memberA.getAccessToken()); + pairRoomService.savePairRoom(deletePairRoomCreateRequest, memberA.getAccessToken()); + final List memberAExpected = List.of(accessCodeA_1, accessCodeA_2); final List memberBExpected = List.of(accessCodeB_1); From a6d6ebcda6b2e907a6784fc782ff91528f538a09 Mon Sep 17 00:00:00 2001 From: kelly6bf Date: Fri, 11 Oct 2024 01:18:51 +0900 Subject: [PATCH 2/7] =?UTF-8?q?test:=20=ED=8E=98=EC=96=B4=EB=A3=B8=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20API=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acceptance/PairRoomAcceptanceTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/backend/src/test/java/site/coduo/acceptance/PairRoomAcceptanceTest.java b/backend/src/test/java/site/coduo/acceptance/PairRoomAcceptanceTest.java index 7dab4e66..0129bb4e 100644 --- a/backend/src/test/java/site/coduo/acceptance/PairRoomAcceptanceTest.java +++ b/backend/src/test/java/site/coduo/acceptance/PairRoomAcceptanceTest.java @@ -151,4 +151,24 @@ void exist_pair_room_false() { assertThat(response.exists()).isFalse(); } + + @Test + @DisplayName("페어룸을 삭제한다.") + void delete_pair_room() { + // given + final PairRoomCreateResponse accessCode = + createPairRoom(new PairRoomCreateRequest("레디", "프람", 1000L, 100L, "IN_PROGRESS")); + + // when & then + RestAssured + .given() + .log() + .all() + + .when() + .delete("/api/pair-room/{access-code}", accessCode.accessCode()) + + .then() + .statusCode(204); + } } From 899f3bc3c98b13e367bd64c65ecd644bfb6e0e74 Mon Sep 17 00:00:00 2001 From: kelly6bf Date: Fri, 11 Oct 2024 11:03:16 +0900 Subject: [PATCH 3/7] =?UTF-8?q?test:=20=EC=8B=A4=ED=8C=A8=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=9E=84=EC=8B=9C=20?= =?UTF-8?q?=EB=B9=84=ED=99=9C=EC=84=B1=ED=99=94=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/site/coduo/acceptance/ReferenceAcceptanceTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java b/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java index 1a7d638f..a8de24b6 100644 --- a/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java +++ b/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java @@ -6,6 +6,7 @@ import java.util.Map; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; @@ -115,6 +116,7 @@ void createReferenceLink(final String url, String accessCodeText, String categor .post("/api/" + accessCodeText + "/reference-link"); } + @Disabled @Test @DisplayName("레퍼런스 링크를 삭제하는 요청") void delete_reference_link_request() { From 9ee63b6ebbcb36df8dfd36eb7ceb77ad9f264ae8 Mon Sep 17 00:00:00 2001 From: kelly6bf Date: Fri, 11 Oct 2024 12:14:11 +0900 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=EB=A7=81=ED=81=AC=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20id=20=ED=95=98?= =?UTF-8?q?=EB=93=9C=EC=BD=94=EB=94=A9=EB=90=9C=20=EA=B2=83=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acceptance/ReferenceAcceptanceTest.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java b/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java index a8de24b6..2523a343 100644 --- a/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java +++ b/backend/src/test/java/site/coduo/acceptance/ReferenceAcceptanceTest.java @@ -6,12 +6,10 @@ import java.util.Map; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; -import org.springframework.transaction.annotation.Transactional; import io.restassured.RestAssured; import io.restassured.http.ContentType; @@ -19,8 +17,8 @@ import site.coduo.pairroom.service.dto.PairRoomCreateResponse; import site.coduo.referencelink.service.dto.CategoryCreateRequest; import site.coduo.referencelink.service.dto.CategoryCreateResponse; +import site.coduo.referencelink.service.dto.ReferenceLinkResponse; -@Transactional class ReferenceAcceptanceTest extends AcceptanceFixture { @Test @@ -102,21 +100,24 @@ void read_reference_link_without_open_graph() { .body("[0].image", is("")); } - void createReferenceLink(final String url, String accessCodeText, String categoryName) { + ReferenceLinkResponse createReferenceLink(final String url, String accessCodeText, String categoryName) { final CategoryCreateResponse response = CategoryAcceptanceTest.createCategory( accessCodeText, new CategoryCreateRequest(categoryName)); final Map request = Map.of("url", url, "categoryId", response.id()); - RestAssured + return RestAssured .given() .contentType(ContentType.JSON) .body(request) .when() - .post("/api/" + accessCodeText + "/reference-link"); + .post("/api/" + accessCodeText + "/reference-link") + + .then() + .extract() + .as(ReferenceLinkResponse.class); } - @Disabled @Test @DisplayName("레퍼런스 링크를 삭제하는 요청") void delete_reference_link_request() { @@ -124,7 +125,8 @@ void delete_reference_link_request() { final PairRoomCreateResponse pairRoom = createPairRoom(new PairRoomCreateRequest("레모네", "프람", 1000L, 1000L, "IN_PROGRESS")); - createReferenceLink("http://www.delete.com", pairRoom.accessCode(), "카테고리 이름"); + final ReferenceLinkResponse response = createReferenceLink("http://www.delete.com", pairRoom.accessCode(), + "카테고리 이름"); // when & then RestAssured @@ -133,7 +135,7 @@ void delete_reference_link_request() { .when() .log().all() - .delete("/api/" + pairRoom.accessCode() + "/reference-link/1") + .delete("/api/" + pairRoom.accessCode() + "/reference-link/" + response.id()) .then() .assertThat() From 6774e28d72738d9753a21279ce1507465a142943 Mon Sep 17 00:00:00 2001 From: fram1998 Date: Fri, 11 Oct 2024 14:39:02 +0900 Subject: [PATCH 5/7] =?UTF-8?q?test:=20=EB=B6=88=ED=95=84=EC=9A=94=20@Tran?= =?UTF-8?q?sactional=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/site/coduo/pairroom/service/PairRoomServiceTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java index f99654d1..b925c699 100644 --- a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java +++ b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java @@ -81,7 +81,6 @@ void create_timer_when_create_pair_room() { @Test - @Transactional @DisplayName("존재하지 않는 페어룸 접근 코드를 찾으면 예외가 발생한다.") void throw_exception_when_find_not_exist_access_code() { // given @@ -93,7 +92,6 @@ void throw_exception_when_find_not_exist_access_code() { } @Test - @Transactional @DisplayName("삭제된 페어룸의 접근 코드를 찾으면 예외가 발생한다.") void throw_exception_when_find_delete_pair_room_access_code() { // given From 812da3cebb6acb49005e9c12fe99e43ebeb495b7 Mon Sep 17 00:00:00 2001 From: fram1998 Date: Fri, 11 Oct 2024 14:47:04 +0900 Subject: [PATCH 6/7] =?UTF-8?q?refactor:=20=EC=96=B4=EB=B2=95=EC=97=90=20?= =?UTF-8?q?=EB=A7=9E=EC=A7=80=20=EC=95=8A=EC=9D=80=20enum=20=EB=84=A4?= =?UTF-8?q?=EC=9D=B4=EB=B0=8D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../site/coduo/pairroom/domain/PairRoomStatus.java | 2 +- .../coduo/pairroom/repository/PairRoomEntity.java | 14 +++++++------- .../coduo/pairroom/service/PairRoomService.java | 4 ++-- .../coduo/pairroom/domain/PairRoomEntityTest.java | 2 +- .../pairroom/service/PairRoomServiceTest.java | 6 +++--- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java b/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java index 58f71388..06a6d5b4 100644 --- a/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java +++ b/backend/src/main/java/site/coduo/pairroom/domain/PairRoomStatus.java @@ -13,7 +13,7 @@ public enum PairRoomStatus { IN_PROGRESS, COMPLETED, - DELETE; + DELETED; private static final Map STATUS = Arrays.stream(values()) .collect(Collectors.toMap(PairRoomStatus::name, Function.identity())); diff --git a/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java b/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java index 207571a2..717cb5e3 100644 --- a/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java +++ b/backend/src/main/java/site/coduo/pairroom/repository/PairRoomEntity.java @@ -85,7 +85,7 @@ public void swapNavigatorWithDriver() { } public boolean isDelete() { - return status == PairRoomStatus.DELETE; + return status == PairRoomStatus.DELETED; } @Override @@ -108,11 +108,11 @@ public int hashCode() { @Override public String toString() { return "PairRoomEntity{" + - "id=" + id + - ", status=" + status + - ", navigator='" + navigator + '\'' + - ", driver='" + driver + '\'' + - ", accessCode='" + accessCode + '\'' + - '}'; + "id=" + id + + ", status=" + status + + ", navigator='" + navigator + '\'' + + ", driver='" + driver + '\'' + + ", accessCode='" + accessCode + '\'' + + '}'; } } diff --git a/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java b/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java index e59c3cde..cbdc5163 100644 --- a/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java +++ b/backend/src/main/java/site/coduo/pairroom/service/PairRoomService.java @@ -57,7 +57,7 @@ public String savePairRoom(final PairRoomCreateRequest request, @Nullable final } public boolean existsByAccessCode(final String accessCode) { - return pairRoomRepository.existsByAccessCodeAndStatusNot(accessCode, PairRoomStatus.DELETE); + return pairRoomRepository.existsByAccessCodeAndStatusNot(accessCode, PairRoomStatus.DELETED); } private PairRoom createPairRoom(final PairRoomCreateRequest request) { @@ -121,6 +121,6 @@ public List findPairRooms(final String token) { public void deletePairRoom(final String accessCode) { final PairRoomEntity pairRoomEntity = pairRoomRepository.fetchByAccessCode(accessCode); checkDeletePairRoom(pairRoomEntity); - pairRoomEntity.updateStatus(PairRoomStatus.DELETE); + pairRoomEntity.updateStatus(PairRoomStatus.DELETED); } } diff --git a/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java b/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java index 4b9d961d..ac5aa35e 100644 --- a/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java +++ b/backend/src/test/java/site/coduo/pairroom/domain/PairRoomEntityTest.java @@ -51,7 +51,7 @@ void change_nav_and_driver() { void pairRoomEntityStatusIsDelete() { // Given final PairRoomEntity sut = PairRoomEntity.from( - new PairRoom(PairRoomStatus.DELETE, + new PairRoom(PairRoomStatus.DELETED, new Pair(new PairName("navi"), new PairName("dri")), new AccessCode("access")) ); diff --git a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java index b925c699..82074a19 100644 --- a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java +++ b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java @@ -97,7 +97,7 @@ void throw_exception_when_find_delete_pair_room_access_code() { // given final PairRoomCreateRequest request = new PairRoomCreateRequest("레디", "프람", 1000L, 100L, - PairRoomStatus.DELETE.name()); + PairRoomStatus.DELETED.name()); final String accessCode = pairRoomService.savePairRoom(request, null); // when & then @@ -126,7 +126,7 @@ void update_pair_room_status() { void update_delete_pair_room_status() { // given final PairRoomCreateRequest request = - new PairRoomCreateRequest("레디", "프람", 1000L, 100L, PairRoomStatus.DELETE.name()); + new PairRoomCreateRequest("레디", "프람", 1000L, 100L, PairRoomStatus.DELETED.name()); final String accessCode = pairRoomService.savePairRoom(request, null); // when & then @@ -159,7 +159,7 @@ void change_pair_room() { void change_delete_pair_room_role() { // given final PairRoomEntity entity = PairRoomEntity.from( - new PairRoom(PairRoomStatus.DELETE, + new PairRoom(PairRoomStatus.DELETED, new Pair(new PairName("fram"), new PairName("lemonL")), new AccessCode("1234")) ); From 9abcf27c9b361f3d00c0739184d3c5fa18727ebc Mon Sep 17 00:00:00 2001 From: fram1998 Date: Fri, 11 Oct 2024 14:52:00 +0900 Subject: [PATCH 7/7] =?UTF-8?q?test:=20enum=20=EB=84=A4=EC=9D=B4=EB=B0=8D?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=EC=9C=BC=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20?= =?UTF-8?q?test=20=EC=BD=94=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/site/coduo/pairroom/service/PairRoomServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java index 82074a19..d9ccec2a 100644 --- a/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java +++ b/backend/src/test/java/site/coduo/pairroom/service/PairRoomServiceTest.java @@ -187,7 +187,7 @@ void find_rooms_by_member() { pairRoomService.savePairRoom(pairRoomCreateRequest, null); final PairRoomCreateRequest deletePairRoomCreateRequest = new PairRoomCreateRequest("레디", "잉크", 1, 1, - "DELETE"); + PairRoomStatus.DELETED.name()); pairRoomService.savePairRoom(deletePairRoomCreateRequest, memberA.getAccessToken()); pairRoomService.savePairRoom(deletePairRoomCreateRequest, memberA.getAccessToken()); pairRoomService.savePairRoom(deletePairRoomCreateRequest, memberA.getAccessToken());