test: complete phase3 phase4 acceptance coverage

This commit is contained in:
2026-08-25 00:24:43 +08:00
parent 84ad5e779a
commit 73d206e3f3
21 changed files with 908 additions and 69 deletions
@@ -45,4 +45,26 @@ class OutboundDispatchReadMapperContractTest {
assertThat(oceanSql).contains("booking.customer_id=#{tenantId}").doesNotContain("#{customerId}");
assertThat(truckSql).contains("customer_id=#{tenantId}").doesNotContain("#{customerId}");
}
@Test
void timelineIncludesCustomsAndSailingHistoriesWithinTheFullOutboundScope() throws Exception {
String sql = String.join("\n", OutboundDispatchReadMapper.class
.getMethod("timeline", long.class, long.class, long.class, long.class,
long.class, Long.class, Long.class)
.getAnnotation(Select.class).value());
assertThat(sql)
.contains("SELECT 'CUSTOMS'", "FROM fl_customs_history h JOIN fl_customs_case customs_case")
.contains("customs_case.tenant_id=#{tenantId}", "customs_case.order_id=#{orderId}")
.contains("customs_case.inbound_id=#{inboundId}",
"customs_case.container_booking_id=#{containerBookingId}")
.contains("SELECT 'SAILING_SCHEDULE'",
"FROM fl_port_schedule_history h JOIN fl_port_schedule port_schedule")
.contains("port_schedule.customer_id=#{tenantId}",
"port_schedule.ocean_booking_id=#{oceanBookingId}")
.contains("port_schedule.container_booking_id=#{containerBookingId}")
.contains("schedule_inbound.tenant_id=#{tenantId}", "schedule_inbound.order_id=#{orderId}")
.contains("schedule_inbound.id=#{inboundId}")
.contains("ORDER BY occurredAt,module");
}
}