tdd : picking system - picker, picking list assign

This commit is contained in:
haerong22
2021-08-05 21:22:46 +09:00
parent 0d68372add
commit cab6df8514
8 changed files with 103 additions and 1 deletions

View File

@@ -1,4 +1,14 @@
package com.example.pickingtdd.entity;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Picker {
private Long pickerId;
private PickerStateEnum state;
private Order assignedOrder;
private PickingList assignedPickingList;
}

View File

@@ -0,0 +1,5 @@
package com.example.pickingtdd.entity;
public enum PickerStateEnum {
REST, ASSIGNED, PROCESS, PENDING, ERROR, DONE
}

View File

@@ -0,0 +1,9 @@
package com.example.pickingtdd.service;
import com.example.pickingtdd.entity.Picker;
import com.example.pickingtdd.entity.PickingList;
public interface PickerService {
Picker assignPickingList(Picker picker, PickingList pickingList);
}

View File

@@ -0,0 +1,26 @@
package com.example.pickingtdd.service;
import com.example.pickingtdd.entity.Picker;
import com.example.pickingtdd.entity.PickerStateEnum;
import com.example.pickingtdd.entity.PickingList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class PickerServiceImpl implements PickerService {
@Autowired
PickingListService pickingListService;
@Override
public Picker assignPickingList(Picker picker, PickingList pickingList) {
picker.setAssignedPickingList(pickingList);
picker.setAssignedOrder(pickingList.getOrder());
picker.setState(PickerStateEnum.ASSIGNED);
if (pickingList.getPicker() == null || !picker.equals(pickingList.getPicker())) {
pickingListService.assignPicker(pickingList, picker);
}
return picker;
}
}

View File

@@ -13,6 +13,9 @@ public class PickingListServiceImpl implements PickingListService {
@Autowired
OrderService orderService;
@Autowired
PickerService pickerService;
@Override
public PickingList createPickingList(Order order) {
PickingList pickingList = new PickingList();
@@ -37,6 +40,10 @@ public class PickingListServiceImpl implements PickingListService {
pickingList.setState(PickingStateEnum.ASSIGNED);
orderService.changeOrderState(pickingList.getOrder(), OrderStateEnum.ASSIGNED);
if (picker.getAssignedPickingList() == null || !picker.getAssignedPickingList().equals(pickingList)) {
pickerService.assignPickingList(picker, pickingList);
}
return pickingList;
}
}

View File

@@ -0,0 +1,36 @@
package com.example.pickingtdd.service;
import com.example.pickingtdd.entity.Order;
import com.example.pickingtdd.entity.Picker;
import com.example.pickingtdd.entity.PickerStateEnum;
import com.example.pickingtdd.entity.PickingList;
import org.junit.jupiter.api.Assertions;
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 PickerServiceTests {
@Autowired
PickerService pickerService;
@Test
void assignPickingList() {
Picker picker = new Picker();
picker.setPickerId(1L);
picker.setState(PickerStateEnum.REST);
PickingList pickingList = new PickingList();
pickingList.setOrder(new Order());
picker = pickerService.assignPickingList(picker, pickingList);
assertEquals(PickerStateEnum.ASSIGNED, picker.getState());
assertNotNull(picker.getAssignedOrder());
assertNotNull(picker.getAssignedPickingList());
assertNotNull(picker.getAssignedPickingList().getPicker());
}
}

View File

@@ -8,12 +8,14 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.Spy;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Collections;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@ExtendWith(MockitoExtension.class)
@SpringBootTest
@@ -25,6 +27,9 @@ public class PickingListServiceTests {
@Mock
OrderService orderService;
@Spy
PickerService pickerService = new PickerServiceImpl();
Order order;
@BeforeEach
@@ -76,5 +81,6 @@ public class PickingListServiceTests {
assertEquals(picker, assignedPickingList.getPicker());
assertEquals(PickingStateEnum.ASSIGNED, assignedPickingList.getState());
assertNotNull(assignedPickingList.getPicker().getAssignedPickingList());
}
}

View File

@@ -8,8 +8,11 @@ SKU
주문 -> 피킹리스트 -> 피커 -> 피킹완료
------- TO-DO -------
[] Picker 구체화
[v] 피킹 리스트 할당시 피커도 할당
[v] 피커 할당시 피킹리스트도 할당
[v] 피커에게 피킹 리스트 할당
[v] Picker 구체화
[v] 피킹 리스트 피커에게 할당
[v] PickingList - Order 연관관계 설정
[v] changeOrderState 메소드 생성