diff --git a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingServiceImpl.java b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingServiceImpl.java index f04d21bd..2b0ca09a 100644 --- a/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingServiceImpl.java +++ b/tdd_practice/pickingTDD/src/main/java/com/example/pickingtdd/service/PickingServiceImpl.java @@ -10,8 +10,6 @@ import org.springframework.stereotype.Service; public class PickingServiceImpl implements PickingService { @Override public void pick(PickingList pickingList, Sku sku) throws Exception{ - setStatus(pickingList, null); - if (!pickingList.getSkuAmountMap().containsKey(sku)) { throw new Exception("wrong sku"); } else { @@ -20,6 +18,8 @@ public class PickingServiceImpl implements PickingService { } pickingList.getPickedMap().put(sku, pickingList.getPickedMap().get(sku) + 1); } + + setStatus(pickingList, null); } private void setStatus(PickingList pickingList, PickingStateEnum status) { diff --git a/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingServiceTests.java b/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingServiceTests.java index 370a0b50..8170defe 100644 --- a/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingServiceTests.java +++ b/tdd_practice/pickingTDD/src/test/java/com/example/pickingtdd/service/PickingServiceTests.java @@ -73,4 +73,37 @@ public class PickingServiceTests { assertEquals(PickerStateEnum.PROCESS, picker.getState()); assertEquals(1, pickingList.getPickedMap().get(orderDetail.getSku())); } + + @Test + void pick_DONE_success() { + try { + for (int i = 0; i < 10; i++) { + pickingService.pick(pickingList, orderDetail.getSku()); + pickingService.pick(pickingList, orderDetail2.getSku()); + } + } catch (Exception e) { + fail("should not exception"); + } + + assertEquals(PickingStateEnum.DONE, pickingList.getState()); + assertEquals(PickerStateEnum.DONE, pickingList.getPicker().getState()); + } + + @Test + void pick_wrongSku() { + try { + pickingService.pick(pickingList, new Sku()); + } catch (Exception e) { + assertEquals("wrong sku", e.getMessage()); + } + } + + @Test + void pick_toMuch() { + try { + pickingService.pick(pickingList, orderDetail.getSku()); + } catch (Exception e) { + assertEquals("to much sku", e.getMessage()); + } + } } diff --git a/tdd_practice/pickingTDD/todo.txt b/tdd_practice/pickingTDD/todo.txt index 7442dc8a..fa48fd8b 100644 --- a/tdd_practice/pickingTDD/todo.txt +++ b/tdd_practice/pickingTDD/todo.txt @@ -8,11 +8,8 @@ SKU 주문 -> 피킹리스트 -> 피커 -> 피킹완료 ------- TO-DO ------- -[] 피킹 -[] 피킹 중단 -[] 피킹 에러 -[] 피킹 완료 - +[v] 피킹 완료 +[v] 피킹 [v] 피킹 리스트 할당시 피커도 할당 [v] 피커 할당시 피킹리스트도 할당 [v] 피커에게 피킹 리스트 할당