装柜回归测试
This commit is contained in:
@@ -3,11 +3,13 @@ package com.baiyue.firstleg.service;
|
||||
import com.baiyue.common.core.exception.BizException;
|
||||
import com.baiyue.firstleg.dto.LoadingPickDtos.PartialPickRequest;
|
||||
import com.baiyue.firstleg.dto.LoadingPickDtos.PickRequest;
|
||||
import com.baiyue.firstleg.dto.LoadingPickDtos.ClaimRequest;
|
||||
import com.baiyue.firstleg.dto.LoadingPickDtos.ReviewRequest;
|
||||
import com.baiyue.firstleg.dto.LoadingPickDtos.SkipRequest;
|
||||
import com.baiyue.firstleg.entity.LoadingPickAssignmentEntity;
|
||||
import com.baiyue.firstleg.entity.LoadingPickHistoryEntity;
|
||||
import com.baiyue.firstleg.entity.LoadingPickItemEntity;
|
||||
import com.baiyue.firstleg.entity.LoadingPickItemAssignmentEntity;
|
||||
import com.baiyue.firstleg.entity.LoadingPickOperationEntity;
|
||||
import com.baiyue.firstleg.entity.LoadingPickTaskEntity;
|
||||
import com.baiyue.firstleg.repository.LoadingPickRepository;
|
||||
@@ -110,6 +112,47 @@ class LoadingPickServiceTest {
|
||||
verify(settlementService, never()).settle(20L, 9L, "operator");
|
||||
}
|
||||
|
||||
@Test
|
||||
void permitsItemAssigneeWithoutCabinetAssignee() {
|
||||
LoadingPickTaskEntity task = task();
|
||||
LoadingPickItemEntity item = item();
|
||||
when(repository.history("item-owner-pick")).thenReturn(null);
|
||||
when(repository.task(20L)).thenReturn(task);
|
||||
when(repository.taskForUpdate(20L)).thenReturn(task);
|
||||
when(repository.item(20L, 30L, 101L)).thenReturn(item);
|
||||
when(repository.itemAssignment(30L)).thenReturn(itemAssignment(9L, "operator"));
|
||||
when(repository.pick(30L, 2, "MANUAL", "[]", 0, 101L)).thenReturn(1);
|
||||
when(repository.touchTask(20L, 0)).thenReturn(1);
|
||||
when(repository.items(20L, 101L)).thenReturn(List.of(item));
|
||||
|
||||
service.pick(20L, 30L, new PickRequest(101L, 2, List.of(), 0, "item-owner-pick"),
|
||||
9L, "operator");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void permitsTwoWorkersToClaimDifferentItemsInOneCabinet() {
|
||||
LoadingPickTaskEntity task = task();
|
||||
LoadingPickItemEntity first = item();
|
||||
LoadingPickItemEntity second = item();
|
||||
second.setId(31L);
|
||||
when(repository.taskForUpdate(20L)).thenReturn(task);
|
||||
when(repository.task(20L)).thenReturn(task);
|
||||
when(repository.item(20L, 30L)).thenReturn(first);
|
||||
when(repository.item(20L, 31L)).thenReturn(second);
|
||||
when(repository.itemAssignment(30L)).thenReturn(null);
|
||||
when(repository.itemAssignment(31L)).thenReturn(null);
|
||||
when(repository.createItemAssignment(30L, 9L, "worker-a", 9L, "worker-a", "CLAIMED")).thenReturn(1);
|
||||
when(repository.createItemAssignment(31L, 10L, "worker-b", 10L, "worker-b", "CLAIMED")).thenReturn(1);
|
||||
when(repository.items(20L)).thenReturn(List.of(first, second));
|
||||
|
||||
service.claimItem(20L, 30L, new ClaimRequest(0, "claim-a"), 9L, "worker-a");
|
||||
service.claimItem(20L, 31L, new ClaimRequest(0, "claim-b"), 10L, "worker-b");
|
||||
|
||||
verify(repository).createItemAssignment(30L, 9L, "worker-a", 9L, "worker-a", "CLAIMED");
|
||||
verify(repository).createItemAssignment(31L, 10L, "worker-b", 10L, "worker-b", "CLAIMED");
|
||||
}
|
||||
|
||||
@Test
|
||||
void reviewSettlesResolvedItemsAndCompletesPlan() {
|
||||
LoadingPickTaskEntity task = task();
|
||||
@@ -187,4 +230,13 @@ class LoadingPickServiceTest {
|
||||
assignment.setVersion(0);
|
||||
return assignment;
|
||||
}
|
||||
|
||||
private static LoadingPickItemAssignmentEntity itemAssignment(long assigneeId, String assigneeName) {
|
||||
LoadingPickItemAssignmentEntity assignment = new LoadingPickItemAssignmentEntity();
|
||||
assignment.setPickItemId(30L);
|
||||
assignment.setAssigneeId(assigneeId);
|
||||
assignment.setAssigneeName(assigneeName);
|
||||
assignment.setVersion(0);
|
||||
return assignment;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user