#![cfg(feature = "openapi")]
use axum_api_kit::{ApiError, CursorResponse, HealthResponse, ListResponse};
use utoipa::OpenApi;
#[derive(OpenApi)]
#[openapi(components(schemas(
ApiError,
HealthResponse,
ListResponse<String>,
CursorResponse<String>,
)))]
struct ApiDoc;
#[test]
fn response_types_register_as_schemas() {
let json = ApiDoc::openapi()
.to_json()
.expect("openapi serializes to json");
assert!(json.contains("ApiError"), "ApiError schema missing");
assert!(
json.contains("HealthResponse"),
"HealthResponse schema missing"
);
assert!(json.contains("\"code\""), "ApiError.code missing");
assert!(
json.contains("\"has_more\""),
"CursorResponse.has_more missing"
);
assert!(json.contains("\"total\""), "ListResponse.total missing");
}