费用提交
This commit is contained in:
+28
-1
@@ -195,6 +195,7 @@ class OverseasProcurementServiceTest {
|
||||
|
||||
@Test void exportReviewPersistsDirectionAndCannotReplayWithChangedDirection() {
|
||||
var order = order(OverseasProcurementService.PENDING_REVIEW,0,0);
|
||||
order.setProcurementDirection(ProcurementDirection.EXPORT);
|
||||
when(orders.lockNo("100","HC1")).thenReturn(order);
|
||||
when(orders.findNo("100","HC1")).thenReturn(order);
|
||||
when(histories.listOrder("100",1L)).thenReturn(List.of());
|
||||
@@ -221,7 +222,7 @@ class OverseasProcurementServiceTest {
|
||||
@Test void pendingReviewCannotReverseDirectionOfAnAlreadyRecordedPurchase() {
|
||||
var order = order(OverseasProcurementService.PENDING_REVIEW,0,0);
|
||||
when(orders.lockNo("100","HC1")).thenReturn(order);
|
||||
when(directionRepository.hasStarted(1L)).thenReturn(true);
|
||||
|
||||
assertThrows(ResponseStatusException.class, () -> service.review("100","HC1","7",
|
||||
new OverseasProcurementRequests.Review(0L,"APPROVE","export-after-purchase","checked",10L,ProcurementDirection.EXPORT)));
|
||||
verify(warehouseDirectory,never()).required(10L,ProcurementDirection.EXPORT);
|
||||
@@ -239,4 +240,30 @@ class OverseasProcurementServiceTest {
|
||||
assertEquals("US, California, test destination",detail.receivingAddress());
|
||||
assertEquals(OverseasProcurementService.PENDING_REVIEW,detail.summary().status());
|
||||
}
|
||||
|
||||
@Test void rejectionRequiresSpecificNonblankReasonWithoutAWarehouse() {
|
||||
var order = order(OverseasProcurementService.PENDING_REVIEW,0,0);
|
||||
when(orders.lockNo("100","HC1")).thenReturn(order);
|
||||
for (String reason : new String[]{null,""," "}) {
|
||||
var error = assertThrows(ResponseStatusException.class, () -> service.review("100","HC1","7",
|
||||
new OverseasProcurementRequests.Review(0L,"REJECT","reject-empty",reason,null)));
|
||||
assertEquals("请填写拒绝原因",error.getReason());
|
||||
}
|
||||
assertEquals(OverseasProcurementService.PENDING_REVIEW,order.getStatus());
|
||||
when(orders.findNo("100","HC1")).thenReturn(order);
|
||||
when(histories.listOrder("100",1L)).thenReturn(List.of());
|
||||
var result=service.review("100","HC1","7",new OverseasProcurementRequests.Review(0L,"REJECT","reject-reason","供应商无法供货",null));
|
||||
assertEquals(OverseasProcurementService.REJECTED,result.summary().status());
|
||||
assertEquals("供应商无法供货",result.reviewRemark());
|
||||
verify(warehouseDirectory,never()).required(10L);
|
||||
}
|
||||
@Test void reviewCannotChangeDirectionEvenBeforePurchase() {
|
||||
var order = order(OverseasProcurementService.PENDING_REVIEW,0,0);
|
||||
order.setProcurementDirection(ProcurementDirection.EXPORT);
|
||||
when(orders.lockNo("100","HC1")).thenReturn(order);
|
||||
var error=assertThrows(ResponseStatusException.class, () -> service.review("100","HC1","7",
|
||||
new OverseasProcurementRequests.Review(0L,"APPROVE","change-direction","checked",10L,ProcurementDirection.IMPORT)));
|
||||
assertEquals("审核不能修改采购方向,请按客户下单方向选择采购仓",error.getReason());
|
||||
assertEquals(ProcurementDirection.EXPORT,order.getProcurementDirection());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user