diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderDetail.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderDetail.java new file mode 100644 index 00000000..5d78a1ca --- /dev/null +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderDetail.java @@ -0,0 +1,14 @@ +package com.example.pickingtdd.entity; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class OrderDetail { + + private Long orderDetailId; + private Long orderId; + private Sku sku; + private int amount; +} diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/Sku.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/Sku.java new file mode 100644 index 00000000..8cade341 --- /dev/null +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/Sku.java @@ -0,0 +1,4 @@ +package com.example.pickingtdd.entity; + +public class Sku { +} diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/OrderDetailService.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/OrderDetailService.java new file mode 100644 index 00000000..3505fe06 --- /dev/null +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/OrderDetailService.java @@ -0,0 +1,8 @@ +package com.example.pickingtdd.service; + +import com.example.pickingtdd.entity.OrderDetail; + +public interface OrderDetailService { + + OrderDetail createOrderDetail(OrderDetail orderDetail) throws Exception; +} diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/OrderDetailServiceImpl.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/OrderDetailServiceImpl.java new file mode 100644 index 00000000..2a8c1e70 --- /dev/null +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/OrderDetailServiceImpl.java @@ -0,0 +1,12 @@ +package com.example.pickingtdd.service; + +import com.example.pickingtdd.entity.OrderDetail; +import org.springframework.stereotype.Service; + +@Service +public class OrderDetailServiceImpl implements OrderDetailService { + @Override + public OrderDetail createOrderDetail(OrderDetail orderDetail) { + return orderDetail; + } +} diff --git a/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/OrderDetailServiceTests.java b/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/OrderDetailServiceTests.java index 779b8046..266c4175 100644 --- a/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/OrderDetailServiceTests.java +++ b/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/OrderDetailServiceTests.java @@ -1,4 +1,49 @@ package com.example.pickingtdd.service; +import com.example.pickingtdd.entity.OrderDetail; +import com.example.pickingtdd.entity.Sku; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.*; + +@SpringBootTest public class OrderDetailServiceTests { + + @Autowired + OrderDetailService orderDetailService; + + OrderDetail orderDetailSuccess; + OrderDetail orderDetailFail; + + @BeforeEach + void setup() { + orderDetailSuccess = new OrderDetail(); + orderDetailSuccess.setOrderDetailId(1L); + orderDetailSuccess.setOrderId(1L); + orderDetailSuccess.setSku(new Sku()); + orderDetailSuccess.setAmount(10); + + orderDetailFail = new OrderDetail(); + orderDetailFail.setOrderDetailId(2L); + } + + @Test + void createOrderDetail_success() { + OrderDetail orderDetail = new OrderDetail(); + + try { + orderDetail = orderDetailService.createOrderDetail(orderDetailSuccess); + } catch (Exception e) { + // do Something + } + + assertEquals(1L, orderDetail.getOrderDetailId()); + assertEquals(1L, orderDetail.getOrderId()); + assertEquals(10, orderDetail.getAmount()); + } + } diff --git a/tdd_practice/pickingTDD/todo.txt b/tdd_practice/pickingTDD/todo.txt index 4121b2a4..b8ad2745 100644 --- a/tdd_practice/pickingTDD/todo.txt +++ b/tdd_practice/pickingTDD/todo.txt @@ -10,8 +10,8 @@ SKU ------- TO-DO ------- [] Order validation 에 OrderDetail 검증 추가 [] OrderDetail validation 추가 -[] OrderDetail 생성 +[v] OrderDetail 생성 [v] Order.state => enum 변경 [v] ORDER 검증 [v] ORDER 생성