Files
baiyue-firstleg/lastleg-service/src/test/java/com/baiyue/lastleg/procurement/OverseasProcurementOpenApiContractTest.java
T

43 lines
2.0 KiB
Java
Raw Normal View History

2026-08-20 18:02:38 +08:00
package com.baiyue.lastleg.procurement;
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 OverseasProcurementOpenApiContractTest {
@Test
void procurementContractDocumentsCandidatesClearSemanticsAndExcludesOutbound() throws Exception {
String yaml;
try (var input = getClass().getResourceAsStream("/openapi/overseas-business-v1.yaml")) {
yaml = new String(input.readAllBytes(), StandardCharsets.UTF_8);
}
assertTrue(yaml.contains("/customer-options:"));
assertTrue(yaml.contains("/warehouse-options:"));
assertTrue(yaml.contains("显式 null 或空串表示清空"));
assertTrue(yaml.contains("platform:overseas-business:purchase:list"));
assertTrue(yaml.contains("platform:overseas-business:purchase:edit"));
assertFalse(yaml.contains("/outbounds"));
assertFalse(yaml.contains("采购出库单"));
}
@Test
void contractContainsPlatformTruckWritesAndIndependentLooseboardDomain() throws Exception {
String yaml;
try (var input = getClass().getResourceAsStream("/openapi/overseas-business-v1.yaml")) {
yaml = new String(input.readAllBytes(), StandardCharsets.UTF_8);
}
assertTrue(yaml.contains("platform:overseas-business:truck:create"));
assertTrue(yaml.contains("platform:overseas-business:truck:edit"));
assertTrue(yaml.contains("/api/platform/v1/last-leg/local-looseboard-orders:"));
assertTrue(yaml.contains("platform:overseas-business:looseboard:list"));
assertTrue(yaml.contains("platform:overseas-business:looseboard:create"));
assertTrue(yaml.contains("platform:overseas-business:looseboard:edit"));
assertTrue(yaml.contains("platform:overseas-business:looseboard:status"));
assertFalse(yaml.contains("/api/platform/v1/last-leg/outbound"));
assertFalse(yaml.contains("/api/platform/v1/last-leg/delivery"));
}
}