Merge remote-tracking branch 'origin/test' into dev

This commit is contained in:
2026-09-09 12:19:17 +08:00
6 changed files with 668 additions and 4 deletions
@@ -20,6 +20,8 @@ import jakarta.annotation.Resource;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.mockito.ArgumentCaptor;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
@@ -191,10 +193,14 @@ class ContainerServiceTest {
verify(repository, never()).insert(any());
}
@Test
@DisplayName("首次关联允许已有预排货的编辑计划且保持内部柜和计划身份")
void linksReleasedBookingAfterPreloading() {
ContainerBookingEntity container = booking("EDITING", 2);
@ParameterizedTest
@ValueSource(strings = {"WAIT_LOADING", "EDITING"})
@DisplayName("空计划及加入入仓单后的编辑计划均允许首次关联且保持清单身份")
void linksReleasedBookingAfterPreloading(String planStatus) {
ContainerBookingEntity container = booking(planStatus, 2);
container.setSourceType("SIMULATION");
container.setPlanId(501L);
container.setPlanNo("LP-260818-0001");
container.setContainerNo(null);
container.setWarehouseId(101L); container.setChannelCode("SEA-US"); container.setContainerType("40HC");
container.setCapacityCbm(new BigDecimal("85.5000")); container.setMaxWeightKg(new BigDecimal("27500.000"));
@@ -214,6 +220,10 @@ class ContainerServiceTest {
assertThat(result).isSameAs(container);
assertThat(container.getCabinetNo()).isEqualTo("柜-001");
assertThat(container.getPlanId()).isEqualTo(501L);
assertThat(container.getPlanNo()).isEqualTo("LP-260818-0001");
assertThat(container.getPlanStatus()).isEqualTo(planStatus);
assertThat(container.getSourceType()).isEqualTo("SIMULATION");
verify(repository, never()).hasActiveLoadingItems(11L);
verify(repository).linkReleasedBooking(eq(11L), eq(21L), eq(31L), eq("MSCU6639870"),
same(booking), eq(2), eq(9L), eq("admin"));