tdd : picking system - order -> order detail vaildation
This commit is contained in:
@@ -3,10 +3,13 @@ package com.example.pickingtdd.entity;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
public class Order {
|
public class Order {
|
||||||
|
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
private OrderStateEnum State;
|
private OrderStateEnum State;
|
||||||
|
private List<OrderDetail> orderDetailList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,22 @@
|
|||||||
package com.example.pickingtdd.service;
|
package com.example.pickingtdd.service;
|
||||||
|
|
||||||
import com.example.pickingtdd.entity.Order;
|
import com.example.pickingtdd.entity.Order;
|
||||||
|
import com.example.pickingtdd.entity.OrderDetail;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class OrderServiceImpl implements OrderService {
|
public class OrderServiceImpl implements OrderService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
OrderDetailService orderDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Order createOrder(Order order) throws Exception {
|
public Order createOrder(Order order) throws Exception {
|
||||||
if (orderValidation(order)) {
|
if (orderValidation(order)) {
|
||||||
|
for (OrderDetail orderDetail : order.getOrderDetailList()) {
|
||||||
|
orderDetailService.createOrderDetail(orderDetail);
|
||||||
|
}
|
||||||
return order;
|
return order;
|
||||||
} else {
|
} else {
|
||||||
throw new Exception("order validation fail");
|
throw new Exception("order validation fail");
|
||||||
@@ -22,6 +30,9 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
if (order.getState() == null) {
|
if (order.getState() == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (order.getOrderDetailList() == null || order.getOrderDetailList().size() < 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package com.example.pickingtdd.service;
|
package com.example.pickingtdd.service;
|
||||||
|
|
||||||
import com.example.pickingtdd.entity.OrderDetail;
|
import com.example.pickingtdd.entity.OrderDetail;
|
||||||
import com.example.pickingtdd.entity.OrderStateEnum;
|
|
||||||
import com.example.pickingtdd.entity.Sku;
|
import com.example.pickingtdd.entity.Sku;
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|||||||
@@ -1,29 +1,43 @@
|
|||||||
package com.example.pickingtdd.service;
|
package com.example.pickingtdd.service;
|
||||||
|
|
||||||
import com.example.pickingtdd.entity.Order;
|
import com.example.pickingtdd.entity.Order;
|
||||||
|
import com.example.pickingtdd.entity.OrderDetail;
|
||||||
import com.example.pickingtdd.entity.OrderStateEnum;
|
import com.example.pickingtdd.entity.OrderStateEnum;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
public class OrderServiceTests {
|
public class OrderServiceTests {
|
||||||
|
|
||||||
@Autowired
|
@InjectMocks
|
||||||
OrderService orderService;
|
OrderService orderService = new OrderServiceImpl();
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
OrderDetailService orderDetailService;
|
||||||
|
|
||||||
Order orderSuccess;
|
Order orderSuccess;
|
||||||
Order orderFail;
|
Order orderFail;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void init() {
|
void init() {
|
||||||
|
OrderDetail orderDetail = new OrderDetail();
|
||||||
orderSuccess = new Order();
|
orderSuccess = new Order();
|
||||||
orderSuccess.setOrderId(1L);
|
orderSuccess.setOrderId(1L);
|
||||||
orderSuccess.setState(OrderStateEnum.ORDERED);
|
orderSuccess.setState(OrderStateEnum.ORDERED);
|
||||||
|
orderSuccess.setOrderDetailList(Collections.singletonList(orderDetail));
|
||||||
|
|
||||||
orderFail = new Order();
|
orderFail = new Order();
|
||||||
orderFail.setOrderId(null);
|
orderFail.setOrderId(null);
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ SKU
|
|||||||
주문 -> 피킹리스트 -> 피커 -> 피킹완료
|
주문 -> 피킹리스트 -> 피커 -> 피킹완료
|
||||||
|
|
||||||
------- TO-DO -------
|
------- TO-DO -------
|
||||||
[] Order validation 에 OrderDetail 검증 추가
|
|
||||||
|
|
||||||
|
[v] Order validation 에 OrderDetail 검증 추가
|
||||||
[v] OrderDetail validation 추가
|
[v] OrderDetail validation 추가
|
||||||
[v] OrderDetail 생성
|
[v] OrderDetail 생성
|
||||||
[v] Order.state => enum 변경
|
[v] Order.state => enum 변경
|
||||||
|
|||||||
Reference in New Issue
Block a user