test(test): 주문내역 컨트롤러 DTO 분리로 인한 테스트 재작성
- http header 추가
This commit is contained in:
@@ -72,16 +72,16 @@ operation::order-patch[snippets='curl-request,http-request,http-response,path-pa
|
||||
=== 주문 페이지
|
||||
- 페이지 offset : 6
|
||||
|
||||
operation::orderMain-get[snippets='curl-request,http-request,http-response,request-parameters,response-fields']
|
||||
operation::orderMain-get[snippets='curl-request,http-request,http-response,request-headers,request-parameters,response-fields']
|
||||
=== 점주 서비스 - 주문 페이지 (잘못된 파라미터 형식)
|
||||
|
||||
operation::orderMain-get-badParameterException[snippets='curl-request,http-request,http-response,request-parameters,response-fields']
|
||||
operation::orderMain-get-badParameterException[snippets='curl-request,http-request,http-response,request-headers,request-parameters,response-fields']
|
||||
|
||||
=== 점주 서비스 - 지난 주문 페이지
|
||||
operation::prevOrder-get[snippets='curl-request,http-request,http-response,request-parameters,response-fields']
|
||||
operation::prevOrder-get[snippets='curl-request,http-request,http-response,request-headers,request-parameters,response-fields']
|
||||
|
||||
=== 점주 서비스 - 지난 주문 페이지 (잘못된 파라미터 형식)
|
||||
operation::prevOrder-get-BindException[snippets='curl-request,http-request,http-response,request-parameters,response-fields']
|
||||
operation::prevOrder-get-BindException[snippets='curl-request,http-request,http-response,request-headers,request-parameters,response-fields']
|
||||
|
||||
== Just Pick-up
|
||||
=== 주문 내역 페이지
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.justpickup.orderservice.domain.order.entity.Order;
|
||||
import com.justpickup.orderservice.domain.order.entity.OrderStatus;
|
||||
import com.justpickup.orderservice.domain.orderItem.entity.OrderItem;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@@ -23,12 +24,30 @@ public class OrderHistoryDto {
|
||||
private String storeName;
|
||||
private List<_OrderHistoryItem> orderItems = new ArrayList<>();
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public OrderHistoryDto(Long id, LocalDateTime orderTime, long price, OrderStatus orderStatus, Long storeId, String storeName, List<_OrderHistoryItem> orderItems) {
|
||||
this.id = id;
|
||||
this.orderTime = orderTime;
|
||||
this.price = price;
|
||||
this.orderStatus = orderStatus;
|
||||
this.storeId = storeId;
|
||||
this.storeName = storeName;
|
||||
this.orderItems = orderItems;
|
||||
}
|
||||
|
||||
@Getter @NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
public static class _OrderHistoryItem {
|
||||
private Long id;
|
||||
private Long itemId;
|
||||
private String itemName;
|
||||
|
||||
@Builder
|
||||
public _OrderHistoryItem(Long id, Long itemId, String itemName) {
|
||||
this.id = id;
|
||||
this.itemId = itemId;
|
||||
this.itemName = itemName;
|
||||
}
|
||||
|
||||
public static _OrderHistoryItem of(OrderItem orderItem) {
|
||||
_OrderHistoryItem orderHistoryItem = new _OrderHistoryItem();
|
||||
orderHistoryItem.id = orderItem.getId();
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.justpickup.orderservice.domain.order.entity.Order;
|
||||
import com.justpickup.orderservice.domain.order.entity.OrderStatus;
|
||||
import com.justpickup.orderservice.domain.orderItem.entity.OrderItem;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@@ -26,12 +27,30 @@ public class PrevOrderDto {
|
||||
|
||||
private List<_PrevOrderItem> orderItems = new ArrayList<>();
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public PrevOrderDto(Long id, OrderStatus orderStatus, LocalDateTime orderTime, long orderPrice, Long userId, String userName, List<_PrevOrderItem> orderItems) {
|
||||
this.id = id;
|
||||
this.orderStatus = orderStatus;
|
||||
this.orderTime = orderTime;
|
||||
this.orderPrice = orderPrice;
|
||||
this.userId = userId;
|
||||
this.userName = userName;
|
||||
this.orderItems = orderItems;
|
||||
}
|
||||
|
||||
@Getter @NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
public static class _PrevOrderItem {
|
||||
private Long id;
|
||||
private Long itemId;
|
||||
private String name;
|
||||
|
||||
@Builder
|
||||
public _PrevOrderItem(Long id, Long itemId, String name) {
|
||||
this.id = id;
|
||||
this.itemId = itemId;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
// 생성 메소드
|
||||
static _PrevOrderItem of(OrderItem orderItem) {
|
||||
_PrevOrderItem prevOrderItem = new _PrevOrderItem();
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.justpickup.orderservice.config.TestConfig;
|
||||
import com.justpickup.orderservice.domain.order.dto.FetchOrderDto;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderDto;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderHistoryDto;
|
||||
import com.justpickup.orderservice.domain.order.entity.OrderStatus;
|
||||
import com.justpickup.orderservice.domain.order.repository.OrderRepository;
|
||||
import com.justpickup.orderservice.domain.order.service.OrderService;
|
||||
@@ -98,21 +99,25 @@ class OrderCustomerApiControllerTest {
|
||||
;
|
||||
}
|
||||
|
||||
private SliceImpl<OrderDto> getWillReturnOrderHistory(Pageable pageable) {
|
||||
private SliceImpl<OrderHistoryDto> getWillReturnOrderHistory(Pageable pageable) {
|
||||
|
||||
List<OrderDto> contents = new ArrayList<>();
|
||||
List<OrderHistoryDto> contents = new ArrayList<>();
|
||||
for (long i = 1; i <= 3; i++) {
|
||||
OrderItemDto orderItemDto_1 = OrderItemDto.builder().id(i * 10).itemId(i * 100).build();
|
||||
OrderItemDto orderItemDto_2 = OrderItemDto.builder().id((i + 1) * 20L).itemId((i + 1) *200L).build();
|
||||
OrderHistoryDto._OrderHistoryItem orderItemDto_1 =
|
||||
OrderHistoryDto._OrderHistoryItem.builder()
|
||||
.id(i * 10).itemId(i * 100).build();
|
||||
OrderHistoryDto._OrderHistoryItem orderItemDto_2 =
|
||||
OrderHistoryDto._OrderHistoryItem.builder()
|
||||
.id((i + 1) * 20L).itemId((i + 1) *200L).build();
|
||||
|
||||
int hour = 20;
|
||||
OrderDto orderDto = OrderDto.builder()
|
||||
OrderHistoryDto orderDto = OrderHistoryDto.builder()
|
||||
.id(i)
|
||||
.orderTime(LocalDateTime.of(2022, 3, 7, --hour, 0, 0))
|
||||
.orderStatus(OrderStatus.PLACED)
|
||||
.storeId(i + 1000)
|
||||
.orderPrice(i * 10_000)
|
||||
.orderItemDtoList(List.of(orderItemDto_1, orderItemDto_2))
|
||||
.price(i * 10_000)
|
||||
.orderItems(List.of(orderItemDto_1, orderItemDto_2))
|
||||
.build();
|
||||
|
||||
contents.add(orderDto);
|
||||
|
||||
@@ -2,12 +2,9 @@ package com.justpickup.orderservice.domain.order.web;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.justpickup.orderservice.config.TestConfig;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderDto;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderMainDto;
|
||||
import com.justpickup.orderservice.domain.order.dto.*;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderMainDto._Order;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderMainDto._OrderItem;
|
||||
import com.justpickup.orderservice.domain.order.dto.OrderSearchCondition;
|
||||
import com.justpickup.orderservice.domain.order.dto.PrevOrderSearch;
|
||||
import com.justpickup.orderservice.domain.order.entity.OrderStatus;
|
||||
import com.justpickup.orderservice.domain.order.repository.OrderRepository;
|
||||
import com.justpickup.orderservice.domain.order.service.OrderService;
|
||||
@@ -35,6 +32,8 @@ import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
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.payload.PayloadDocumentation.fieldWithPath;
|
||||
@@ -80,6 +79,7 @@ class OrderOwnerApiControllerTest {
|
||||
// WHEN
|
||||
|
||||
ResultActions actions = mockMvc.perform(get(url + "/order-main")
|
||||
.header("user-id", "1")
|
||||
.param("orderDate", orderDate)
|
||||
.param("lastOrderId", String.valueOf(lastOrderId))
|
||||
);
|
||||
@@ -97,6 +97,9 @@ class OrderOwnerApiControllerTest {
|
||||
parameterWithName("orderDate").description("주문 날짜 YYYY-MM-DD"),
|
||||
parameterWithName("lastOrderId").optional().description("페이지의 마지막 주문 고유 번호")
|
||||
),
|
||||
requestHeaders(
|
||||
headerWithName("user-id").description("유저 고유번호")
|
||||
),
|
||||
responseFields(
|
||||
fieldWithPath("code").description("결과 코드 SUCCESS/ERROR"),
|
||||
fieldWithPath("message").description("메시지"),
|
||||
@@ -142,6 +145,7 @@ class OrderOwnerApiControllerTest {
|
||||
|
||||
// WHEN
|
||||
ResultActions actions = mockMvc.perform(get(url + "/order-main")
|
||||
.header("user-id", "1")
|
||||
.param("orderDate", orderDate)
|
||||
.param("lastOrderId", String.valueOf(lastOrderId))
|
||||
);
|
||||
@@ -157,6 +161,9 @@ class OrderOwnerApiControllerTest {
|
||||
parameterWithName("orderDate").description("주문 날짜 YYYY-MM-DD"),
|
||||
parameterWithName("lastOrderId").optional().description("페이지의 마지막 주문 고유 번호")
|
||||
),
|
||||
requestHeaders(
|
||||
headerWithName("user-id").description("유저 고유번호")
|
||||
),
|
||||
responseFields(
|
||||
fieldWithPath("code").description("결과 코드 SUCCESS/ERROR"),
|
||||
fieldWithPath("message").description("메시지"),
|
||||
@@ -167,44 +174,44 @@ class OrderOwnerApiControllerTest {
|
||||
;
|
||||
}
|
||||
|
||||
private List<OrderDto> getOrderMainDtoList() {
|
||||
OrderItemDto orderItemDto_100 = OrderItemDto.builder()
|
||||
private List<PrevOrderDto> getOrderMainDtoList() {
|
||||
PrevOrderDto._PrevOrderItem orderItemDto_100 = PrevOrderDto._PrevOrderItem.builder()
|
||||
.id(100L)
|
||||
.itemId(100L)
|
||||
.build();
|
||||
orderItemDto_100.setItemName("아이템1");
|
||||
OrderItemDto orderItemDto_101 = OrderItemDto.builder()
|
||||
orderItemDto_100.changeName("아이템1");
|
||||
PrevOrderDto._PrevOrderItem orderItemDto_101 = PrevOrderDto._PrevOrderItem.builder()
|
||||
.id(101L)
|
||||
.itemId(101L)
|
||||
.build();
|
||||
orderItemDto_101.setItemName("아이템2");
|
||||
OrderItemDto orderItemDto_102 = OrderItemDto.builder()
|
||||
orderItemDto_101.changeName("아이템2");
|
||||
PrevOrderDto._PrevOrderItem orderItemDto_102 = PrevOrderDto._PrevOrderItem.builder()
|
||||
.id(102L)
|
||||
.itemId(102L)
|
||||
.build();
|
||||
orderItemDto_102.setItemName("아이템3");
|
||||
OrderItemDto orderItemDto_103 = OrderItemDto.builder()
|
||||
orderItemDto_102.changeName("아이템3");
|
||||
PrevOrderDto._PrevOrderItem orderItemDto_103 = PrevOrderDto._PrevOrderItem.builder()
|
||||
.id(103L)
|
||||
.itemId(103L)
|
||||
.build();
|
||||
orderItemDto_103.setItemName("아이템2");
|
||||
orderItemDto_103.changeName("아이템2");
|
||||
|
||||
OrderDto orderDto_1 = OrderDto.builder()
|
||||
PrevOrderDto orderDto_1 = PrevOrderDto.builder()
|
||||
.id(1L)
|
||||
.userId(1L)
|
||||
.orderItemDtoList(List.of(orderItemDto_100, orderItemDto_101))
|
||||
.orderItems(List.of(orderItemDto_100, orderItemDto_101))
|
||||
.orderStatus(OrderStatus.PLACED)
|
||||
.orderTime(LocalDateTime.of(2022, 2, 3, 14, 0, 0))
|
||||
.build();
|
||||
orderDto_1.setUserName("닉네임");
|
||||
OrderDto orderDto_2 = OrderDto.builder()
|
||||
orderDto_1.changeUserName("닉네임");
|
||||
PrevOrderDto orderDto_2 = PrevOrderDto.builder()
|
||||
.id(2L)
|
||||
.userId(1L)
|
||||
.orderItemDtoList(List.of(orderItemDto_102, orderItemDto_103))
|
||||
.orderItems(List.of(orderItemDto_102, orderItemDto_103))
|
||||
.orderStatus(OrderStatus.FAIL)
|
||||
.orderTime(LocalDateTime.of(2022, 2, 3, 15, 0, 0))
|
||||
.build();
|
||||
orderDto_2.setUserName("닉네임");
|
||||
orderDto_2.changeUserName("닉네임");
|
||||
|
||||
return List.of(orderDto_1, orderDto_2);
|
||||
}
|
||||
@@ -226,6 +233,7 @@ class OrderOwnerApiControllerTest {
|
||||
|
||||
// WHEN
|
||||
ResultActions actions = mockMvc.perform(get(url + "/prev-order")
|
||||
.header("user-id", "1")
|
||||
.param("startDate", startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
|
||||
.param("endDate", endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
|
||||
.param("page", page)
|
||||
@@ -251,6 +259,9 @@ class OrderOwnerApiControllerTest {
|
||||
parameterWithName("endDate").description("종료날짜 YYYY-MM-DD"),
|
||||
parameterWithName("page").optional().description("검색 페이지 (0부터 시작)")
|
||||
),
|
||||
requestHeaders(
|
||||
headerWithName("user-id").description("유저 고유번호")
|
||||
),
|
||||
responseFields(
|
||||
fieldWithPath("code").description("결과 코드 SUCCESS/ERROR"),
|
||||
fieldWithPath("message").description("메시지"),
|
||||
@@ -280,6 +291,7 @@ class OrderOwnerApiControllerTest {
|
||||
|
||||
// THEN
|
||||
ResultActions actions = mockMvc.perform(get(url + "/prev-order")
|
||||
.header("user-id", "1")
|
||||
.param("startDate", startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
|
||||
.param("endDate", endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
|
||||
.param("page", page)
|
||||
@@ -297,6 +309,9 @@ class OrderOwnerApiControllerTest {
|
||||
parameterWithName("endDate").description("종료날짜 YYYY-MM-DD"),
|
||||
parameterWithName("page").optional().description("검색 페이지 (0부터 시작)")
|
||||
),
|
||||
requestHeaders(
|
||||
headerWithName("user-id").description("유저 고유번호")
|
||||
),
|
||||
responseFields(
|
||||
fieldWithPath("code").description("결과 코드 SUCCESS/ERROR"),
|
||||
fieldWithPath("message").description("메시지"),
|
||||
|
||||
Reference in New Issue
Block a user