From 0d68372add7af123fb805104c83d5c3c1e9bc38e Mon Sep 17 00:00:00 2001 From: haerong22 Date: Thu, 5 Aug 2021 21:01:24 +0900 Subject: [PATCH] tdd : picking system - assigned picker --- .../pickingtdd/entity/OrderStateEnum.java | 2 +- .../example/pickingtdd/entity/PickingList.java | 2 +- .../pickingtdd/entity/PickingStateEnum.java | 2 +- .../pickingtdd/service/PickingListService.java | 2 ++ .../service/PickingListServiceImpl.java | 11 ++++++++++- .../service/PickingListServiceTests.java | 18 +++++++++++++++--- tdd_practice/pickingTDD/todo.txt | 5 ++++- 7 files changed, 34 insertions(+), 8 deletions(-) diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderStateEnum.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderStateEnum.java index 948f0b2b..64db74db 100644 --- a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderStateEnum.java +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/OrderStateEnum.java @@ -1,5 +1,5 @@ package com.example.pickingtdd.entity; public enum OrderStateEnum { - ORDERED, LISTED, PENDING, PICKING, DONE + ORDERED, LISTED, ASSIGNED, PENDING, PICKING, DONE } diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingList.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingList.java index 58aab441..14d31321 100644 --- a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingList.java +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingList.java @@ -9,7 +9,7 @@ import java.util.Map; @Setter public class PickingList { private Long id; - private Long orderId; + private Order order; private Map skuAmountMap; private PickingStateEnum state; private Picker picker; diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingStateEnum.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingStateEnum.java index a667bc7b..2280f32f 100644 --- a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingStateEnum.java +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/entity/PickingStateEnum.java @@ -1,5 +1,5 @@ package com.example.pickingtdd.entity; public enum PickingStateEnum { - NOTASSIGNED + NOTASSIGNED, ASSIGNED, PROGRESS, PENDING, ERROR, DONE } diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListService.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListService.java index dbcdb750..e7f39fa6 100644 --- a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListService.java +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListService.java @@ -1,10 +1,12 @@ package com.example.pickingtdd.service; import com.example.pickingtdd.entity.Order; +import com.example.pickingtdd.entity.Picker; import com.example.pickingtdd.entity.PickingList; public interface PickingListService { PickingList createPickingList(Order order); + PickingList assignPicker(PickingList pickingList, Picker picker); } diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListServiceImpl.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListServiceImpl.java index 49b53250..4774d882 100644 --- a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListServiceImpl.java +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingListServiceImpl.java @@ -16,7 +16,7 @@ public class PickingListServiceImpl implements PickingListService { @Override public PickingList createPickingList(Order order) { PickingList pickingList = new PickingList(); - pickingList.setOrderId(order.getOrderId()); + pickingList.setOrder(order); pickingList.setState(PickingStateEnum.NOTASSIGNED); Map skuAmountMap = new HashMap<>(); @@ -30,4 +30,13 @@ public class PickingListServiceImpl implements PickingListService { orderService.changeOrderState(order, OrderStateEnum.LISTED); return pickingList; } + + @Override + public PickingList assignPicker(PickingList pickingList, Picker picker) { + pickingList.setPicker(picker); + pickingList.setState(PickingStateEnum.ASSIGNED); + + orderService.changeOrderState(pickingList.getOrder(), OrderStateEnum.ASSIGNED); + return pickingList; + } } diff --git a/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingListServiceTests.java b/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingListServiceTests.java index 971c536b..da244a1d 100644 --- a/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingListServiceTests.java +++ b/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingListServiceTests.java @@ -49,7 +49,7 @@ public class PickingListServiceTests { .thenReturn(true); PickingList assertPickingList = new PickingList(); - assertPickingList.setOrderId(1L); + assertPickingList.setOrder(order); assertPickingList.setSkuAmountMap( Maps.newHashMap( order.getOrderDetailList().get(0).getSku(), @@ -59,10 +59,22 @@ public class PickingListServiceTests { PickingList pickingList = pickingListService.createPickingList(order); - assertEquals(assertPickingList.getOrderId(), pickingList.getOrderId()); - assertEquals(PickingStateEnum.NOTASSIGNED, pickingList.getState()); + assertEquals(assertPickingList.getOrder(), pickingList.getOrder()); + assertEquals(assertPickingList.getState(), pickingList.getState()); assertEquals( assertPickingList.getSkuAmountMap().get(order.getOrderDetailList().get(0).getSku()), pickingList.getSkuAmountMap().get(order.getOrderDetailList().get(0).getSku())); } + + @Test + void assignPicker() { + PickingList pickingList = pickingListService.createPickingList(order); + + Picker picker = new Picker(); + + PickingList assignedPickingList = pickingListService.assignPicker(pickingList, picker); + + assertEquals(picker, assignedPickingList.getPicker()); + assertEquals(PickingStateEnum.ASSIGNED, assignedPickingList.getState()); + } } diff --git a/tdd_practice/pickingTDD/todo.txt b/tdd_practice/pickingTDD/todo.txt index bddb052c..f5ef1f5d 100644 --- a/tdd_practice/pickingTDD/todo.txt +++ b/tdd_practice/pickingTDD/todo.txt @@ -8,8 +8,11 @@ SKU 주문 -> 피킹리스트 -> 피커 -> 피킹완료 ------- TO-DO ------- -[] changeOrderState 메소드 생성 +[] Picker 구체화 +[v] 피킹 리스트 피커에게 할당 +[v] PickingList - Order 연관관계 설정 +[v] changeOrderState 메소드 생성 [v] 피킹 리스트 생성 [v] Order validation 에 OrderDetail 검증 추가 [v] OrderDetail validation 추가