package com.zy.api.service.impl;
|
|
import com.zy.api.controller.params.ReceviceTaskParams;
|
import com.zy.asrs.entity.WrkMast;
|
import com.zy.asrs.service.WorkService;
|
import com.zy.asrs.service.WrkMastService;
|
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.mockito.Mock;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.when;
|
|
@ExtendWith(MockitoExtension.class)
|
class WcsApiServiceImplTest {
|
|
@Mock
|
private WrkMastService wrkMastService;
|
|
@Mock
|
private WorkService workService;
|
|
private WcsApiServiceImpl service;
|
|
@BeforeEach
|
void setUp() {
|
service = new WcsApiServiceImpl();
|
ReflectionTestUtils.setField(service, "wrkMastService", wrkMastService);
|
ReflectionTestUtils.setField(service, "workService", workService);
|
}
|
|
@Test
|
void receviceTaskFromWcs_marksOutboundStationCompleteWhenDevpCallbackArrives() {
|
WrkMast mast = outboundMast(25L);
|
when(wrkMastService.selectOne(any())).thenReturn(mast);
|
when(wrkMastService.updateById(mast)).thenReturn(true);
|
|
service.receviceTaskFromWcs(new ReceviceTaskParams()
|
.setNotifyType("Devp")
|
.setMsgType("station_out_task_run_complete")
|
.setSuperTaskNo("7597"));
|
|
assertEquals(Long.valueOf(26L), mast.getWrkSts());
|
verify(wrkMastService).updateById(mast);
|
}
|
|
@Test
|
void receviceTaskFromWcs_allowsTaskCompleteAfterStationOutComplete() {
|
WrkMast mast = outboundMast(26L);
|
when(wrkMastService.selectOne(any())).thenReturn(mast);
|
when(wrkMastService.updateById(mast)).thenReturn(true);
|
|
service.receviceTaskFromWcs(new ReceviceTaskParams()
|
.setNotifyType("task")
|
.setMsgType("task_complete")
|
.setSuperTaskNo("7597"));
|
|
assertEquals(Long.valueOf(14L), mast.getWrkSts());
|
verify(wrkMastService).updateById(mast);
|
}
|
|
private static WrkMast outboundMast(Long wrkSts) {
|
WrkMast mast = new WrkMast();
|
mast.setWrkNo(7597);
|
mast.setIoType(101);
|
mast.setWrkSts(wrkSts);
|
return mast;
|
}
|
}
|