fix(firstleg): restore smart loading candidate projection

This commit is contained in:
2026-09-02 12:33:26 +08:00
parent a4d8fa9f8b
commit e3fd48c3b9
4 changed files with 31 additions and 12 deletions
@@ -43,6 +43,10 @@ class SmartLoadingCandidateMapperContractTest {
.contains("SELECT SUM(li.package_count)")
.contains("li.deleted=0")
.contains("ORDER BY o.inbounded_at ASC, o.id ASC, i.inbound_detail_id ASC");
assertThat(sql.indexOf("NULL blockReason"))
.as("record constructor projection must keep status fields in their trailing positions")
.isLessThan(sql.indexOf("o.order_status_snapshot orderStatusSnapshot"));
}
@Test
@@ -72,6 +76,10 @@ class SmartLoadingCandidateMapperContractTest {
.contains("SUM(package_count) package_count")
.contains("GROUP BY tenant_id,measurement_id,inbound_detail_id")
.contains("FOR UPDATE");
assertThat(sql.indexOf("NULL blockReason"))
.as("record constructor projection must keep status fields in their trailing positions")
.isLessThan(sql.indexOf("o.order_status_snapshot orderStatusSnapshot"));
}
@Test