use actix_web::HttpResponse;
use super::debug_contracts::LoggingSchemaDebugReport;
pub(super) fn debug_schema_success_response(report: LoggingSchemaDebugReport) -> HttpResponse {
HttpResponse::Ok().json(report)
}
#[cfg(test)]
mod tests {
use actix_web::http::StatusCode;
use super::*;
use crate::api::schema::debug_report_test_fixtures::build_empty_logging_schema_debug_report_for_tests;
use crate::api::schema::debug_response_test_helpers::{
assert_success_payload_field_for_tests, response_json_for_tests,
};
#[actix_web::test]
async fn success_response_uses_ok_status() {
let report = build_empty_logging_schema_debug_report_for_tests();
let response = debug_schema_success_response(report);
assert_eq!(response.status(), StatusCode::OK);
let body = response_json_for_tests(response, "success response").await;
for field in [
"summary",
"expected_tables",
"observed_tables",
"still_needed",
] {
assert_success_payload_field_for_tests(&body, field, "success response");
}
}
}