Merge branch 'test' of http://8.163.30.128:10082/java-project/baiyue-firstleg into test
This commit is contained in:
+9
@@ -20,6 +20,8 @@ import static org.mockito.ArgumentMatchers.*;
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class ReturnCartonCountServiceTest {
|
||||
@Mock ReturnReceiptMapper receipts;
|
||||
@Mock ReturnOrderMapper orders;
|
||||
@Mock ReturnReceiptService returnReceiptService;
|
||||
@Mock ReturnReceiptItemMapper receiptItems;
|
||||
@Mock ReturnInventoryCartonMapper cartons;
|
||||
@Mock ReturnInventoryCartonItemMapper items;
|
||||
@@ -33,6 +35,8 @@ class ReturnCartonCountServiceTest {
|
||||
@BeforeEach void setup() {
|
||||
service = new ReturnCartonCountService();
|
||||
ReflectionTestUtils.setField(service,"receipts",receipts);
|
||||
ReflectionTestUtils.setField(service,"orders",orders);
|
||||
ReflectionTestUtils.setField(service,"returnReceiptService",returnReceiptService);
|
||||
ReflectionTestUtils.setField(service,"receiptItems",receiptItems);
|
||||
ReflectionTestUtils.setField(service,"cartons",cartons);
|
||||
ReflectionTestUtils.setField(service,"items",items);
|
||||
@@ -76,11 +80,16 @@ class ReturnCartonCountServiceTest {
|
||||
assertThat(a.getCountedBy()).isEqualTo("op"); assertThat(a.getCountedAt()).isNotNull();
|
||||
verify(items).deleteCarton(2L); verify(items).deleteCarton(3L); verify(items,times(2)).insert(any(ReturnInventoryCartonItem.class));
|
||||
verifyNoInteractions(balances);
|
||||
verify(returnReceiptService).refreshCountedTailCargo(receipt);
|
||||
var countedLine = org.mockito.ArgumentCaptor.forClass(ReturnReceiptItem.class);
|
||||
verify(receiptItems).updateById(countedLine.capture());
|
||||
assertThat(countedLine.getValue().getBoxCount()).isEqualTo(2);
|
||||
var audit = org.mockito.ArgumentCaptor.forClass(ReturnInventoryOperation.class); verify(operations).insert(audit.capture());
|
||||
when(operations.lockKey("op","retry")).thenReturn(audit.getValue());
|
||||
assertThat(service.confirm(identity,"RR-1",unequal(3,7))).isEqualTo(result);
|
||||
assertThatThrownBy(() -> service.confirm(identity,"RR-1",unequal(4,6))).isInstanceOf(ResponseStatusException.class).hasMessageContaining("幂等键");
|
||||
verify(items,times(2)).deleteCarton(anyLong());
|
||||
verify(returnReceiptService, times(1)).refreshCountedTailCargo(receipt);
|
||||
}
|
||||
@Test void mixedBoxesAdjustOnlyContainingBoxCounts() {
|
||||
prepare(List.of(expected("SKU1",6),expected("SKU2",4)));
|
||||
|
||||
+26
@@ -56,6 +56,32 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class ReturnReceiptServiceTest {
|
||||
@Test void countedCargoReplacesForecastTotalsAndRepeatedSyncUpdatesTheSameDetail() {
|
||||
var details = org.mockito.Mockito.mock(com.baiyue.lastleg.mapper.LastlegOrderDetailMapper.class);
|
||||
ReflectionTestUtils.setField(service, "lastlegOrderDetails", details);
|
||||
ReturnOrder order = new ReturnOrder(); order.setId(1L); order.setCustomerId("C1"); order.setLastlegOrderId(9L);
|
||||
ReturnOrderItem sku = new ReturnOrderItem(); sku.setSkuCode("SKU1");
|
||||
ReturnReceipt first = new ReturnReceipt(); first.setId(2L); first.setReturnOrderId(1L); first.setUnitType("PALLET"); first.setUnitCode("PLT1"); first.setTotalBoxCount(5L);
|
||||
ReturnReceipt second = new ReturnReceipt(); second.setId(3L); second.setUnitType("PALLET"); second.setUnitCode("PLT2"); second.setTotalBoxCount(2L);
|
||||
var counted = new com.baiyue.lastleg.returnreceipt.entity.ReturnReceiptItem(); counted.setSkuCode("SKU1"); counted.setReceivedQuantity(10L); counted.setBoxCount(5L);
|
||||
var other = new com.baiyue.lastleg.returnreceipt.entity.ReturnReceiptItem(); other.setSkuCode("SKU1"); other.setReceivedQuantity(4L); other.setBoxCount(2L);
|
||||
LastlegOrder tail = new LastlegOrder(); tail.setId(9L); tail.setCustomerId("C1"); tail.setPackageCount(107); tail.setProductQuantity(202);
|
||||
when(orders.selectById(1L)).thenReturn(order); when(orderItems.listOrder(1L)).thenReturn(List.of(sku));
|
||||
when(lastlegOrders.selectById(9L)).thenReturn(tail); when(receipts.listOrder(1L)).thenReturn(List.of(first, second));
|
||||
when(receiptItems.listReceipt(2L)).thenReturn(List.of(counted)); when(receiptItems.listReceipt(3L)).thenReturn(List.of(other));
|
||||
var stored = new AtomicReference<com.baiyue.lastleg.entity.LastlegOrderDetail>();
|
||||
when(details.selectOne(any())).thenAnswer(invocation -> stored.get());
|
||||
when(details.insert(any(com.baiyue.lastleg.entity.LastlegOrderDetail.class))).thenAnswer(invocation -> { stored.set(invocation.getArgument(0)); return 1; });
|
||||
service.refreshCountedTailCargo(first);
|
||||
Long detailId = stored.get().getId();
|
||||
service.refreshCountedTailCargo(first);
|
||||
assertEquals(7, tail.getPackageCount()); assertEquals(7, tail.getReceivedPackageCount());
|
||||
assertEquals(14, tail.getProductQuantity()); assertEquals(2, tail.getPalletCount());
|
||||
assertEquals(5, stored.get().getPackageCount()); assertEquals(10, stored.get().getProductQuantity());
|
||||
assertEquals(detailId, stored.get().getId());
|
||||
verify(details, times(1)).insert(any(com.baiyue.lastleg.entity.LastlegOrderDetail.class));
|
||||
verify(details, times(1)).updateById(any(com.baiyue.lastleg.entity.LastlegOrderDetail.class));
|
||||
}
|
||||
@Mock ReturnOrderMapper orders;
|
||||
@Mock ReturnOrderItemMapper orderItems;
|
||||
@Mock ReturnReceiptMapper receipts;
|
||||
|
||||
Reference in New Issue
Block a user