diff --git a/integration-service/src/test/java/com/baiyue/integration/service/CarrierScheduleProviderServiceTest.java b/integration-service/src/test/java/com/baiyue/integration/service/CarrierScheduleProviderServiceTest.java index 1b6355b3a..66247254a 100644 --- a/integration-service/src/test/java/com/baiyue/integration/service/CarrierScheduleProviderServiceTest.java +++ b/integration-service/src/test/java/com/baiyue/integration/service/CarrierScheduleProviderServiceTest.java @@ -7,9 +7,12 @@ import com.baiyue.integration.dto.CarrierScheduleDtos.ExceptionObservation; import com.baiyue.integration.provider.CarrierScheduleProviderAdapter; import com.baiyue.integration.provider.CompliantCarrierScheduleProviderAdapter; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import java.time.LocalDateTime; import java.util.List; +import java.util.Locale; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -25,21 +28,22 @@ class CarrierScheduleProviderServiceTest { assertThat(result.exceptions()).isEmpty(); } - @Test - void onlyDispatchesNormalizedContainerNumberTracking() { + @ParameterizedTest + @ValueSource(strings = {"ZCSU7881970", "ZCSU7881971", "LOCAL-2026-001"}) + void onlyDispatchesNormalizedContainerNumberTracking(String containerNo) { CarrierScheduleProviderAdapter capturing = new CarrierScheduleProviderAdapter() { @Override public boolean supports(String carrierCode) { return true; } @Override public QueryResult query(QueryRequest request) { assertThat(request.trackingType()).isEqualTo("CONTAINER_NO"); - assertThat(request.trackingNo()).isEqualTo("ZCSU7881970"); + assertThat(request.trackingNo()).isEqualTo(containerNo); return new QueryResult("TEST", "NO_CHANGE", List.of(), List.of(), null, null, LocalDateTime.now()); } }; var service = new CarrierScheduleProviderService(List.of(capturing)); - service.query(new QueryRequest("ZIM", "CONTAINER_NO", "ZCSU7881970")); - assertThatThrownBy(() -> service.query(new QueryRequest("ZIM", "CONTAINER_NO", "zcsu7881970"))) + service.query(new QueryRequest("ZIM", "CONTAINER_NO", containerNo)); + assertThatThrownBy(() -> service.query(new QueryRequest("ZIM", "CONTAINER_NO", containerNo.toLowerCase(Locale.ROOT)))) .hasMessageContaining("规范化真实集装箱号"); - assertThatThrownBy(() -> service.query(new QueryRequest("ZIM", "CONTAINER_NO", "ZCSU7881971"))) + assertThatThrownBy(() -> service.query(new QueryRequest("ZIM", "CONTAINER_NO", " " + containerNo + " "))) .hasMessageContaining("规范化真实集装箱号"); assertThatThrownBy(() -> service.query(new QueryRequest("ZIM", "BILL_OF_LADING", "BL-1"))) .hasMessageContaining("CONTAINER_NO");