1pub mod engine;
9pub mod gui;
10
11use axum::{routing::get, Router};
12
13pub fn router() -> Router {
15 Router::new()
16 .route("/health", get(gui::health))
17 .route("/", get(gui::index))
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn router_builds() {
26 let _ = router();
27 }
28
29 #[tokio::test]
30 async fn health_payload_is_ok() {
31 let v = gui::health().await.0;
32 assert_eq!(v["status"], "ok");
33 assert_eq!(v["service"], "kova");
34 }
35
36 #[tokio::test]
37 async fn index_serves_embedded_gui() {
38 let (_, html) = gui::index().await;
39 assert!(html.contains("Kova"));
40 }
41}