feat(store-service): 아이템 등록 테스트

아이템 등록 테스트 코드 작성
This commit is contained in:
hoon7566
2022-02-28 15:35:20 +09:00
parent 9417f39c8a
commit ca61356a2d
2 changed files with 52 additions and 5 deletions

View File

@@ -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()

View File

@@ -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());
}
}