This commit is contained in:
2026-08-06 15:32:11 +08:00
parent f3cfbdf59b
commit 5f8b1f64da
21 changed files with 435 additions and 36 deletions
@@ -43,6 +43,9 @@ class WarehouseSchemaContractTest {
@Test
void shouldHandleCase04() throws IOException {
String sql = read("phase2-pallet-location-schema.sql");
assertColumns(sql, "wh_pallet", "tenant_id", "warehouse_id", "pallet_code", "pallet_type",
"capacity_cbm", "weight_kg", "color", "status", "remark", "deleted", "version");
assertThat(sql).contains("uk_pallet_tenant_code (tenant_id, pallet_code)");
assertColumns(sql, "wh_location", "tenant_id", "warehouse_id", "zone_code", "zone_name",
"location_code", "location_type", "max_weight_kg", "shared_overflow", "status", "remark", "deleted", "version");
assertColumns(sql, "wh_location_reservation", "idempotency_key", "business_id", "pallet_id",
@@ -4,6 +4,7 @@ import com.baiyue.common.core.exception.BizException;
import com.baiyue.common.core.api.PageResult;
import com.baiyue.warehouse.dto.PalletRequests;
import com.baiyue.warehouse.entity.PalletEntity;
import com.baiyue.warehouse.entity.WarehouseEntity;
import com.baiyue.warehouse.repository.PalletRepository;
import com.baiyue.warehouse.repository.WarehouseRepository;
import org.junit.jupiter.api.Test;
@@ -16,6 +17,8 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.math.BigDecimal;
@SpringJUnitConfig(PalletApplicationService.class)
class PalletApplicationServiceTest {
@MockBean private PalletRepository repository;
@@ -46,6 +49,20 @@ class PalletApplicationServiceTest {
verify(repository).page(null, query);
}
@Test
void rejectsOverseasWarehouseForCreate() {
WarehouseEntity warehouse = new WarehouseEntity();
warehouse.setWarehouseType("OVERSEAS");
warehouse.setStatus("ACTIVE");
when(warehouseRepository.findOwned(0, 20)).thenReturn(warehouse);
PalletRequests.SaveRequest request = new PalletRequests.SaveRequest(
20L, "木托盘", new BigDecimal("1.2"), new BigDecimal("8"), "黄色", null);
assertThatThrownBy(() -> service.create(0, request))
.isInstanceOf(BizException.class)
.hasMessageContaining("仅支持国内仓");
}
private static PalletEntity pallet(String status) {
PalletEntity entity = new PalletEntity();
entity.setId(30L);