feat(store-service): 아이템 등록 테스트
아이템 등록 테스트 코드 작성
This commit is contained in:
@@ -135,8 +135,12 @@ public class ItemController {
|
||||
@PutMapping("/item")
|
||||
public ResponseEntity<Result> putItem(@RequestBody @Valid ItemRequest itemRequest){
|
||||
|
||||
List<ItemOptionDto> itemOption = itemRequest.getRequiredOption().stream().map(ItemRequest.ItemOptionRequest::createItemDto).collect(Collectors.toList());
|
||||
itemOption.addAll(itemRequest.getOtherOption().stream().map(ItemRequest.ItemOptionRequest::createItemDto).collect(Collectors.toList()));
|
||||
List<ItemOptionDto> itemOption = itemRequest.getRequiredOption().stream()
|
||||
.map(ItemRequest.ItemOptionRequest::createItemOptionDto)
|
||||
.collect(Collectors.toList());
|
||||
itemOption.addAll(itemRequest.getOtherOption().stream()
|
||||
.map(ItemRequest.ItemOptionRequest::createItemOptionDto)
|
||||
.collect(Collectors.toList()));
|
||||
|
||||
itemService.putItem(itemRequest.getItemId()
|
||||
, itemRequest.getItemName()
|
||||
@@ -174,7 +178,7 @@ public class ItemController {
|
||||
private OptionType optionType;
|
||||
private Long price;
|
||||
|
||||
public static ItemOptionDto createItemDto(ItemOptionRequest itemOptionRequest){
|
||||
public static ItemOptionDto createItemOptionDto(ItemOptionRequest itemOptionRequest){
|
||||
return ItemOptionDto.builder()
|
||||
.id(itemOptionRequest.getId())
|
||||
.name(itemOptionRequest.getName())
|
||||
@@ -191,8 +195,12 @@ public class ItemController {
|
||||
|
||||
Long storeId = 1L;
|
||||
|
||||
List<ItemOptionDto> itemOption = itemRequest.getRequiredOption().stream().map(ItemRequest.ItemOptionRequest::createItemDto).collect(Collectors.toList());
|
||||
itemOption.addAll(itemRequest.getOtherOption().stream().map(ItemRequest.ItemOptionRequest::createItemDto).collect(Collectors.toList()));
|
||||
List<ItemOptionDto> itemOption = itemRequest.getRequiredOption().stream()
|
||||
.map(ItemRequest.ItemOptionRequest::createItemOptionDto)
|
||||
.collect(Collectors.toList());
|
||||
itemOption.addAll(itemRequest.getOtherOption().stream()
|
||||
.map(ItemRequest.ItemOptionRequest::createItemOptionDto)
|
||||
.collect(Collectors.toList()));
|
||||
|
||||
itemService.createItem(storeId
|
||||
, itemRequest.getItemName()
|
||||
|
||||
@@ -5,6 +5,9 @@ import com.justpickup.storeservice.config.TestConfig;
|
||||
import com.justpickup.storeservice.domain.item.dto.ItemDto;
|
||||
import com.justpickup.storeservice.domain.item.exception.NotExistItemException;
|
||||
import com.justpickup.storeservice.domain.item.service.ItemService;
|
||||
import com.justpickup.storeservice.domain.itemoption.dto.ItemOptionDto;
|
||||
import com.justpickup.storeservice.domain.itemoption.entity.ItemOption;
|
||||
import com.justpickup.storeservice.domain.itemoption.entity.OptionType;
|
||||
import com.justpickup.storeservice.global.dto.Code;
|
||||
import com.justpickup.storeservice.global.entity.Yn;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
@@ -14,11 +17,16 @@ import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDoc
|
||||
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.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.ResultActions;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
|
||||
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*;
|
||||
import static org.springframework.restdocs.payload.PayloadDocumentation.fieldWithPath;
|
||||
@@ -115,4 +123,35 @@ class ItemControllerTest {
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("메뉴 등록")
|
||||
void created_item_success() throws Exception{
|
||||
//given
|
||||
String itemName = "테스트아이템";
|
||||
Long itemPrice = 3000L;
|
||||
Long categoryId = 1L;
|
||||
|
||||
List<ItemController.ItemRequest.ItemOptionRequest> requiredOption = List.of(new ItemController.ItemRequest.ItemOptionRequest(null, "HOT",OptionType.REQUIRED,null));
|
||||
List<ItemController.ItemRequest.ItemOptionRequest> otherOption = List.of(new ItemController.ItemRequest.ItemOptionRequest(null, "샷 추가",OptionType.OTHER,null));
|
||||
|
||||
|
||||
ItemController.ItemRequest itemRequest = new ItemController.ItemRequest(null,itemName,itemPrice,categoryId,requiredOption,otherOption);
|
||||
|
||||
String body = objectMapper.writeValueAsString(itemRequest);
|
||||
|
||||
//when
|
||||
ResultActions perform = mockMvc.perform(post("/item")
|
||||
.content(body)
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
);
|
||||
|
||||
//then
|
||||
ResultActions resultActions = perform.andExpect(status().isCreated())
|
||||
.andDo(print());
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user