This commit is contained in:
2026-09-03 21:25:54 +08:00
38 changed files with 646 additions and 206 deletions
@@ -167,6 +167,25 @@ class UnifiedOrderQueryServiceTest {
.extracting(UnifiedOrderResponse.Row::totalPackageCount).isEqualTo(35);
}
@Test
void regularOrderAlwaysDisplaysDeclaredCargoCountInsteadOfMeasuredInboundSnapshot() {
UnifiedOrderQuery query = query(null);
OrderEntity order = order(OrderStatus.APPROVED);
OrderCargoEntity declaredCargo = new OrderCargoEntity();
declaredCargo.setOrderId(77L);
declaredCargo.setPackageCount(100);
var summary = summary("WAIT_SPLIT", null);
when(summary.inbound().totalPackageCount()).thenReturn(3);
when(orders.unifiedPage(eq(10001L), eq(query), any()))
.thenReturn(new PageResult<>(List.of(order), 1, 20, 1, 1));
when(firstleg.summaries(eq("internal-token"), any()))
.thenReturn(ApiResponse.success(List.of(summary)));
when(orders.findCargoByOrderIds(10001L, List.of(77L))).thenReturn(List.of(declaredCargo));
assertThat(service.page(10001L, query).records()).singleElement()
.extracting(UnifiedOrderResponse.Row::totalPackageCount).isEqualTo(100);
}
@Test
void inboundMasterUsesTotalPackageCountEvenWhenLegacyPackageCountIsAbsent() {
UnifiedOrderQuery query = query(null);