package com.baiyue.lastleg.inboundplan; import org.junit.jupiter.api.Test; import java.nio.charset.StandardCharsets; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class TailPlanCommandOpenApiContractTest { @Test void exposesOnlyLatestManualPlanHoldAndEightRowNodeContracts() throws Exception { try (var stream = getClass().getClassLoader() .getResourceAsStream("openapi/overseas-business-v1.yaml")) { assertTrue(stream != null); String api = new String(stream.readAllBytes(), StandardCharsets.UTF_8); assertTrue(api.contains("/api/platform/v1/last-leg/inbound-plans/manual:")); assertFalse(api.contains("/api/platform/v1/last-leg/inbound-plans/convert:")); assertTrue(api.contains("/api/platform/v1/last-leg/orders/{id}/hold:")); assertFalse(api.contains("/api/platform/v1/last-leg/orders/{id}/detained:")); assertTrue(api.contains("/api/platform/v1/last-leg/orders/{id}/manual-nodes:")); assertTrue(api.contains("minItems: 8")); assertTrue(api.contains("maxItems: 8")); assertTrue(api.contains("ACTUAL_ARRIVAL_WAITING_UNLOAD")); } } }