fix(lastleg): prevent transfer business number collisions

This commit is contained in:
2026-10-06 00:20:43 +08:00
parent 4bde1a8352
commit 60543adf63
3 changed files with 18 additions and 3 deletions
@@ -81,4 +81,14 @@ class LastlegOrderNoGeneratorTest {
assertTrue(value.matches("OB-LAX-\\d{8}-000123"), value);
assertTrue(value.length() <= 24);
}
@Test void transferNumbersDoNotCollideWhenDatabaseIdSuffixesRepeat() {
String first = generator.next("TRANSFER", "warehouse-LAX-01", 123L);
String second = generator.next("TRANSFER", "warehouse-LAX-01", 1_000_123L);
String repeatedId = generator.next("WAREHOUSE_TRANSFER", "warehouse-LAX-01", 123L);
assertTrue(first.matches("WT-[0-9A-Z]{25}"), first);
assertTrue(first.length() <= 32);
assertNotEquals(first, second);
assertNotEquals(first, repeatedId);
}
}