From e87aa8e0ab0d465cd52497d3f7dbb5ad40df247c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=8A=B9=EC=A7=84?= Date: Mon, 20 Nov 2023 10:15:29 +0900 Subject: [PATCH] =?UTF-8?q?[TEST]=20plan=20=EC=84=9C=EB=B9=84=EC=8A=A4=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/client/SurroundPlaceRequest.java | 4 +- .../place/service/PlaceServiceTest.java | 71 +++++++++++++++++++ 2 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 backend/src/test/java/com/twtw/backend/domain/place/service/PlaceServiceTest.java diff --git a/backend/src/main/java/com/twtw/backend/domain/place/dto/client/SurroundPlaceRequest.java b/backend/src/main/java/com/twtw/backend/domain/place/dto/client/SurroundPlaceRequest.java index d415bd0c..ee06675d 100644 --- a/backend/src/main/java/com/twtw/backend/domain/place/dto/client/SurroundPlaceRequest.java +++ b/backend/src/main/java/com/twtw/backend/domain/place/dto/client/SurroundPlaceRequest.java @@ -10,7 +10,7 @@ @NoArgsConstructor @AllArgsConstructor public class SurroundPlaceRequest { - private String x; - private String y; + private Double x; + private Double y; private Integer page; } diff --git a/backend/src/test/java/com/twtw/backend/domain/place/service/PlaceServiceTest.java b/backend/src/test/java/com/twtw/backend/domain/place/service/PlaceServiceTest.java new file mode 100644 index 00000000..c6c1c147 --- /dev/null +++ b/backend/src/test/java/com/twtw/backend/domain/place/service/PlaceServiceTest.java @@ -0,0 +1,71 @@ +package com.twtw.backend.domain.place.service; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.BDDMockito.given; + +import com.twtw.backend.domain.place.dto.client.SurroundPlaceRequest; +import com.twtw.backend.domain.place.dto.client.SurroundPlaceResponse; +import com.twtw.backend.domain.place.dto.response.PlaceResponse; +import com.twtw.backend.domain.place.entity.Place; +import com.twtw.backend.domain.plan.dto.client.MetaDetails; +import com.twtw.backend.domain.plan.dto.client.PlaceDetails; +import com.twtw.backend.fixture.place.PlaceDetailsFixture; +import com.twtw.backend.fixture.place.PlaceEntityFixture; +import com.twtw.backend.global.client.KakaoMapClient; +import com.twtw.backend.support.service.LoginTest; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.mock.mockito.MockBean; + +@DisplayName("PlaceService의") +class PlaceServiceTest extends LoginTest { + + @Autowired private PlaceService placeService; + @MockBean private KakaoMapClient surroundPlaceClient; + + @Test + @DisplayName("주변 장소 찾기가 수행되는가") + void searchSurroundPlace() { + // given + final SurroundPlaceResponse expected = new SurroundPlaceResponse( + new MetaDetails(true), + List.of(PlaceDetailsFixture.FIRST_PLACE.toPlaceDetails())); + given(surroundPlaceClient.request(any())).willReturn(expected); + + // when + final PlaceResponse result = placeService.searchSurroundPlace(new SurroundPlaceRequest(1.1, 2.2, 1)); + + // then + assertThat(result.getResults()).hasSameElementsAs(expected.getDocuments()); + assertThat(result.getIsLast()).isEqualTo(expected.getMeta().getIsEnd()); + } + + @Test + @DisplayName("Place 엔티티를 통한 dto 생성이 수행되는가") + void getPlaceDetails() { + // given + final Place place = PlaceEntityFixture.FIRST_PLACE.toEntity(); + + // when + final PlaceDetails placeDetails = placeService.getPlaceDetails(place); + + // then + assertThat(placeDetails.getPlaceName()).isEqualTo(place.getPlaceName()); + } + + @Test + @DisplayName("Place dto를 통한 엔티티 생성이 수행되는가") + void getEntityByDetail() { + // given + final PlaceDetails placeDetails = PlaceDetailsFixture.SECOND_PLACE.toPlaceDetails(); + + // when + final Place place = placeService.getEntityByDetail(placeDetails); + + // then + assertThat(place.getPlaceName()).isEqualTo(placeDetails.getPlaceName()); + } +}