fix(overseas): repair pallet transitions and transfer queries
This commit is contained in:
+26
@@ -26,6 +26,32 @@ class HttpPalletPhysicalGatewayTest {
|
||||
ReflectionTestUtils.setField(gateway, "internalToken", "test-token");
|
||||
}
|
||||
|
||||
@Test
|
||||
void applyPreservesBusinessConflictInsteadOfReportingMissingTransition() {
|
||||
server.expect(requestTo("http://warehouse/internal/v1/pda-pallet-transitions/30"))
|
||||
.andRespond(withSuccess("""
|
||||
{"code":"A0409","message":"Pallet version changed","data":null}
|
||||
""", MediaType.APPLICATION_JSON));
|
||||
var pallet = new PalletPhysicalGateway.PalletReference(30L, "PAL-1", 88L, 40L, "IDLE", "XLX1", 2);
|
||||
assertThatThrownBy(() -> gateway.apply(88L, pallet, "OCCUPIED", 40L, "key", "swap"))
|
||||
.isInstanceOf(com.baiyue.common.core.exception.BizException.class)
|
||||
.hasMessageContaining("Pallet version changed");
|
||||
server.verify();
|
||||
}
|
||||
|
||||
@Test
|
||||
void compensationBusinessFailureIsNotReportedAsSuccess() {
|
||||
server.expect(requestTo("http://warehouse/internal/v1/pda-pallet-transitions/30/key/compensate"))
|
||||
.andRespond(withSuccess("""
|
||||
{"code":"A0409","message":"Pallet changed after operation","data":null}
|
||||
""", MediaType.APPLICATION_JSON));
|
||||
var transition = new PalletPhysicalGateway.Transition("key", 30L, "PAL-1", 88L,
|
||||
"IDLE", "OCCUPIED", 40L, 40L, 2, 3, "APPLIED", false);
|
||||
assertThatThrownBy(() -> gateway.compensate(88L, transition))
|
||||
.isInstanceOf(com.baiyue.common.core.exception.BizException.class);
|
||||
server.verify();
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveMapsBusinessNotFoundEnvelopeToStableNotFound() {
|
||||
server.expect(requestTo("http://warehouse/internal/v1/warehouse-pallets/resolve/MISSING"))
|
||||
|
||||
+17
@@ -127,6 +127,23 @@ class WarehouseTransferServiceTest {
|
||||
assertEquals("READY_FOR_DISPATCH", result.records().get(0).relabelFulfillmentStatus());
|
||||
}
|
||||
|
||||
@Test
|
||||
void transferPageWithoutRelabelReturnsEmptyRelabelStatuses() {
|
||||
WarehouseTransferOrder transfer = transfer(WarehouseTransferService.WAIT_PDA_RECEIVING);
|
||||
transfer.setRelabelNo(null);
|
||||
Page<WarehouseTransferOrder> resultPage = new Page<>(1, 20, 1);
|
||||
resultPage.setRecords(List.of(transfer));
|
||||
when(transfers.selectPage(any(), any())).thenReturn(resultPage);
|
||||
|
||||
var result = service.page("TENANT-A", new WarehouseTransferRequests.Query(
|
||||
1, 20, null, null, null, null, null, null, null, null));
|
||||
|
||||
assertEquals(1, result.records().size());
|
||||
assertNull(result.records().get(0).relabelApplicationStatus());
|
||||
assertNull(result.records().get(0).relabelFulfillmentStatus());
|
||||
verify(relabelApplications, never()).selectList(any());
|
||||
}
|
||||
|
||||
@Mock WarehouseTransferOrderMapper transfers;
|
||||
@Mock WarehouseTransferItemMapper transferItems;
|
||||
@Mock WarehouseTransferCartonMapper transferCartons;
|
||||
|
||||
Reference in New Issue
Block a user