ctoolbox/io/webui/controllers/
search.rs1use axum::{extract::State, response::Response};
4
5use crate::io::webui::session_auth::AuthenticatedUser;
6use crate::io::webui::{AppState, RequestState, respond_page};
7use crate::json_value;
8
9pub async fn get_index(
10 State(state): State<AppState>,
11 req: RequestState,
12 user: AuthenticatedUser,
13) -> Response {
14 respond_page(&state, req, "search.index", &json_value!({}))
15}
16
17#[cfg(test)]
18#[allow(clippy::unwrap_in_result, clippy::panic_in_result_fn)]
19mod tests {
20 use crate::io::webui::test_helpers::{
21 assert_eq_or_print_body, assert_or_print_body, test_get_with_login,
22 };
23
24 #[crate::ctb_test(tokio::test)]
25 async fn can_get_index() {
26 let Ok((status, body, _lock)) =
27 test_get_with_login("/search", None, function_name!()).await
28 else {
29 panic!("Failed to perform test_get_with_login");
30 };
31 assert_eq_or_print_body(status, 200, &body);
32 assert_or_print_body(body.contains("name=\"search-text\""), &body);
33 }
34}