Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ public class PartnershipResponse {
private Double longitude;
private Double latitude;
private RestaurantType restaurantType;
private String naverMapUrl;
private String kakaoMapUrl;
private List<PartnershipInfo> partnershipInfos;

public static PartnershipResponse fromEntity(PartnershipRestaurant restaurant, Long userId, Language language) {
Expand All @@ -36,6 +38,8 @@ public static PartnershipResponse fromEntity(PartnershipRestaurant restaurant, L
.longitude(restaurant.getLongitude())
.latitude(restaurant.getLatitude())
.restaurantType(restaurant.getRestaurantType())
.naverMapUrl(restaurant.getNaverMapUrl())
.kakaoMapUrl(restaurant.getKakaoMapUrl())
.partnershipInfos(infos)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ public class PartnershipRestaurant implements Localizable {
private String storeNameJa;
@Column(name = "store_name_vi")
private String storeNameVi;
@Column(name = "naver_map_url", length = 2048)
private String naverMapUrl;
@Column(name = "kakao_map_url", length = 2048)
private String kakaoMapUrl;

@OneToMany(mappedBy = "partnershipRestaurant")
@BatchSize(size = 20)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ALTER TABLE partnership_restaurant
ADD COLUMN naver_map_url VARCHAR(2048) NULL,
ADD COLUMN kakao_map_url VARCHAR(2048) NULL;
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package ssu.eatssu.domain.partnership.dto;

import org.junit.jupiter.api.Test;
import org.springframework.test.util.ReflectionTestUtils;
import ssu.eatssu.domain.partnership.entity.PartnershipRestaurant;
import ssu.eatssu.domain.partnership.entity.RestaurantType;
import ssu.eatssu.domain.user.entity.Language;

import static org.assertj.core.api.Assertions.assertThat;

class PartnershipResponseTest {

@Test
void shouldMapMapUrlsFromRestaurant() {
// given
PartnershipRestaurant restaurant = createRestaurant("https://map.naver.com/p/example",
"https://map.kakao.com/link/map/example");

// when
PartnershipResponse response = PartnershipResponse.fromEntity(restaurant, 1L, Language.KO);

// then
assertThat(response.getNaverMapUrl()).isEqualTo("https://map.naver.com/p/example");
assertThat(response.getKakaoMapUrl()).isEqualTo("https://map.kakao.com/link/map/example");
}

@Test
void shouldReturnNullWhenMapUrlsAreNotRegistered() {
// given
PartnershipRestaurant restaurant = createRestaurant(null, null);

// when
PartnershipResponse response = PartnershipResponse.fromEntity(restaurant, 1L, Language.KO);

// then
assertThat(response.getNaverMapUrl()).isNull();
assertThat(response.getKakaoMapUrl()).isNull();
}

private PartnershipRestaurant createRestaurant(String naverMapUrl, String kakaoMapUrl) {
PartnershipRestaurant restaurant = new TestPartnershipRestaurant();
ReflectionTestUtils.setField(restaurant, "restaurantType", RestaurantType.RESTAURANT);
ReflectionTestUtils.setField(restaurant, "longitude", 126.9576);
ReflectionTestUtils.setField(restaurant, "latitude", 37.4963);
ReflectionTestUtils.setField(restaurant, "storeNameKo", "테스트 가게");
ReflectionTestUtils.setField(restaurant, "naverMapUrl", naverMapUrl);
ReflectionTestUtils.setField(restaurant, "kakaoMapUrl", kakaoMapUrl);
return restaurant;
}

private static class TestPartnershipRestaurant extends PartnershipRestaurant {
}
}
Loading