This commit is contained in:
2026-08-19 09:42:07 +08:00
parent ff1d330c2d
commit b5864bfcda
56 changed files with 497 additions and 306 deletions
@@ -104,30 +104,30 @@ class ContainerServiceTest {
}
@Test
@DisplayName("智能装柜草稿阶段允许完整编辑")
@DisplayName("智能装柜草稿阶段完整编辑时保留稳定柜次号")
void updatesAllFieldsWhileEditing() {
ContainerBookingEntity current = booking("EDITING", 2);
when(repository.find(11L)).thenReturn(current);
when(repository.updateDraft(any(), org.mockito.ArgumentMatchers.eq(2),
org.mockito.ArgumentMatchers.eq(9L), org.mockito.ArgumentMatchers.eq("admin"))).thenReturn(1);
service.updateDraft(11L, 9L, "admin", new FullUpdateRequest(2, request("柜-NEW")));
service.updateDraft(11L, 9L, "admin", new FullUpdateRequest(2, request()));
assertThat(current.getCabinetNo()).isEqualTo("柜-NEW");
assertThat(current.getCabinetNo()).isEqualTo("柜-001");
verify(repository).updateDraft(current, 2, 9L, "admin");
}
@Test
@DisplayName("待装柜阶段允许完整编辑")
@DisplayName("待装柜阶段完整编辑时保留稳定柜次号")
void updatesAllFieldsWhileWaitingForLoading() {
ContainerBookingEntity current = booking("WAIT_LOADING", 2);
when(repository.find(11L)).thenReturn(current);
when(repository.updateDraft(any(), org.mockito.ArgumentMatchers.eq(2),
org.mockito.ArgumentMatchers.eq(9L), org.mockito.ArgumentMatchers.eq("admin"))).thenReturn(1);
service.updateDraft(11L, 9L, "admin", new FullUpdateRequest(2, request("柜 NEW")));
service.updateDraft(11L, 9L, "admin", new FullUpdateRequest(2, request()));
assertThat(current.getCabinetNo()).isEqualTo("柜 NEW");
assertThat(current.getCabinetNo()).isEqualTo("柜-001");
verify(repository).updateDraft(current, 2, 9L, "admin");
}
@@ -137,7 +137,7 @@ class ContainerServiceTest {
when(repository.find(11L)).thenReturn(booking("LOADING", 2));
assertThatThrownBy(() -> service.updateDraft(
11L, 9L, "admin", new FullUpdateRequest(2, request("柜-NEW"))))
11L, 9L, "admin", new FullUpdateRequest(2, request())))
.isInstanceOf(BizException.class)
.hasMessageContaining("只能修改集装箱号和航次");
@@ -240,7 +240,7 @@ class ContainerServiceTest {
when(repository.find(11L)).thenReturn(booking("EDITING", 3));
assertThatThrownBy(() -> service.updateDraft(
11L, 9L, "admin", new FullUpdateRequest(2, request("柜-NEW"))))
11L, 9L, "admin", new FullUpdateRequest(2, request())))
.isInstanceOf(BizException.class)
.hasMessageContaining("刷新后重试");
}
@@ -394,8 +394,8 @@ class ContainerServiceTest {
return value;
}
private static SaveRequest request(String cabinetNo) {
return new SaveRequest("MSCU1234567", cabinetNo, 101L, "上海仓", "BOL-001", "柏悦轮",
private static SaveRequest request() {
return new SaveRequest("MSCU1234567", 101L, "上海仓", "BOL-001", "柏悦轮",
"V001", "40HC", 201L, "船司A", "CNSHA", "上海港", "USLAX", "洛杉矶港",
"ONT8", "ONT8", new BigDecimal("76.0000"), new BigDecimal("28000.000"), 202L, "拖车公司A",
LocalDateTime.of(2026, 8, 10, 8, 0), LocalDateTime.of(2026, 8, 12, 8, 0), null,