feat(storeservice): favorite store테스트
- favorite store 등록 및 취소 테스트 추가 - favorite store 조회 테스트 추가
This commit is contained in:
@@ -38,7 +38,7 @@ export default {
|
|||||||
favoriteStore:{
|
favoriteStore:{
|
||||||
status:true,
|
status:true,
|
||||||
color:null,
|
color:null,
|
||||||
icon: 'mdi-star-outline'
|
icon: 'mdi-heart-outline'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -64,10 +64,10 @@ export default {
|
|||||||
|
|
||||||
if(this.favoriteStore.status){
|
if(this.favoriteStore.status){
|
||||||
this.favoriteStore.color = "rgb(255, 152, 0)"
|
this.favoriteStore.color = "rgb(255, 152, 0)"
|
||||||
this.favoriteStore.icon = "mdi-star"
|
this.favoriteStore.icon = "mdi-heart"
|
||||||
}else{
|
}else{
|
||||||
this.favoriteStore.color = null
|
this.favoriteStore.color = null
|
||||||
this.favoriteStore.icon = "mdi-star-outline"
|
this.favoriteStore.icon = "mdi-heart-outline"
|
||||||
}
|
}
|
||||||
this.favoriteStore.status= !this.favoriteStore.status
|
this.favoriteStore.status= !this.favoriteStore.status
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ operation::items-get[snippets='curl-request,http-request,http-response,path-para
|
|||||||
|
|
||||||
== 상품 (판매자)
|
== 상품 (판매자)
|
||||||
=== 상품 조회
|
=== 상품 조회
|
||||||
=======
|
|
||||||
=== 상품 리스트 조회(구매자)
|
=== 상품 리스트 조회(구매자)
|
||||||
operation::customer-itemList-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields']
|
operation::customer-itemList-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields']
|
||||||
|
|
||||||
@@ -109,3 +108,9 @@ operation::store-get[snippets='curl-request,http-request,http-response,path-para
|
|||||||
operation::api-get-store-byUserId[snippets='curl-request,http-request,http-response,request-headers,response-fields']
|
operation::api-get-store-byUserId[snippets='curl-request,http-request,http-response,request-headers,response-fields']
|
||||||
=== 매장 리스트 조회
|
=== 매장 리스트 조회
|
||||||
operation::stores-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields']
|
operation::stores-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields']
|
||||||
|
|
||||||
|
== 즐겨찾는 매장
|
||||||
|
=== 즐겨찾는 매장 조회
|
||||||
|
operation::get-favoritestore-by-storeid[snippets='curl-request,http-request,http-response,request-headers,path-parameters,response-fields']
|
||||||
|
=== 즐겨찾는 매장 추가/삭제
|
||||||
|
operation::patch-FavoriteStore[snippets='curl-request,http-request,http-response,request-headers,path-parameters']
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
package com.justpickup.storeservice.domain.favoritestore.web;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.justpickup.storeservice.config.TestConfig;
|
||||||
|
import com.justpickup.storeservice.domain.favoritestore.dto.GetFavoriteStoreByStoreIdDto;
|
||||||
|
import com.justpickup.storeservice.domain.favoritestore.service.FavoriteStoreService;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockito.BDDMockito;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs;
|
||||||
|
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||||
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
|
import org.springframework.test.web.servlet.MockMvc;
|
||||||
|
import org.springframework.test.web.servlet.ResultActions;
|
||||||
|
|
||||||
|
import static org.springframework.restdocs.headers.HeaderDocumentation.headerWithName;
|
||||||
|
import static org.springframework.restdocs.headers.HeaderDocumentation.requestHeaders;
|
||||||
|
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
|
||||||
|
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
|
||||||
|
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.patch;
|
||||||
|
import static org.springframework.restdocs.payload.PayloadDocumentation.fieldWithPath;
|
||||||
|
import static org.springframework.restdocs.payload.PayloadDocumentation.responseFields;
|
||||||
|
import static org.springframework.restdocs.request.RequestDocumentation.parameterWithName;
|
||||||
|
import static org.springframework.restdocs.request.RequestDocumentation.pathParameters;
|
||||||
|
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||||
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
|
||||||
|
@WebMvcTest(FavoriteStoreCustomerApiController.class)
|
||||||
|
@Import(TestConfig.class)
|
||||||
|
@AutoConfigureRestDocs(uriHost = "just-pickup.com", uriPort = 8000)
|
||||||
|
class FavoriteStoreCustomerApiControllerTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
MockMvc mockMvc;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
FavoriteStoreService favoriteStoreService;
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Get_즐겨찾는 매장")
|
||||||
|
void getFavoriteStoreByStoreId() throws Exception {
|
||||||
|
//given
|
||||||
|
Long userId=1L;
|
||||||
|
Long storeId=1L;
|
||||||
|
|
||||||
|
BDDMockito.given(favoriteStoreService
|
||||||
|
.getFavoriteStoreByStoreId(userId,storeId))
|
||||||
|
.willReturn(
|
||||||
|
new GetFavoriteStoreByStoreIdDto(userId,storeId,true));
|
||||||
|
|
||||||
|
|
||||||
|
//when
|
||||||
|
ResultActions resultActions = mockMvc.perform(
|
||||||
|
get("/api/customer/favoriteStore/{storeId}",storeId)
|
||||||
|
.header("user-id", userId));
|
||||||
|
|
||||||
|
//then
|
||||||
|
|
||||||
|
resultActions.andExpect(status().isOk())
|
||||||
|
.andDo(print())
|
||||||
|
.andDo(document("get-favoritestore-by-storeid",
|
||||||
|
requestHeaders(
|
||||||
|
headerWithName("user-id").description("로그인한 유저 id")
|
||||||
|
),
|
||||||
|
pathParameters(
|
||||||
|
parameterWithName("storeId").description("매장 고유 번호")
|
||||||
|
),
|
||||||
|
responseFields(
|
||||||
|
fieldWithPath("code").description("결과 코드 SUCCESS/ERROR"),
|
||||||
|
fieldWithPath("message").description("메시지"),
|
||||||
|
fieldWithPath("data.userId").description("유저 고유번호"),
|
||||||
|
fieldWithPath("data.storeId").description("매장 고유 번호"),
|
||||||
|
fieldWithPath("data.exist").description("즐겨찾기 매장 존재여부")
|
||||||
|
))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("즐겨찾는 매장 추가 or 제거")
|
||||||
|
void patchFavoriteStore() throws Exception {
|
||||||
|
//given
|
||||||
|
Long userId=1L;
|
||||||
|
Long storeId=1L;
|
||||||
|
|
||||||
|
//when
|
||||||
|
ResultActions resultActions = mockMvc.perform(
|
||||||
|
patch("/api/customer/favoriteStore/{storeId}",storeId)
|
||||||
|
.header("user-id", userId));
|
||||||
|
|
||||||
|
//then
|
||||||
|
|
||||||
|
resultActions.andExpect(status().isNoContent())
|
||||||
|
.andDo(print())
|
||||||
|
.andDo(document("patch-FavoriteStore",
|
||||||
|
requestHeaders(
|
||||||
|
headerWithName("user-id").description("로그인한 유저 id")
|
||||||
|
),
|
||||||
|
pathParameters(
|
||||||
|
parameterWithName("storeId").description("매장 고유 번호")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user