diff --git a/src/routes/login.rs b/src/routes/login.rs index dc5138f..ad6a75f 100644 --- a/src/routes/login.rs +++ b/src/routes/login.rs @@ -11,10 +11,7 @@ use axum::{ extract::State, response::{Html, IntoResponse, Response}, }; -use axum::{ - http::{HeaderMap, StatusCode}, - response::Redirect, -}; +use axum::{http::StatusCode, response::Redirect}; use secrecy::SecretString; #[derive(thiserror::Error)] @@ -117,9 +114,11 @@ pub async fn post_login( .await .map_err(|e| LoginError::UnexpectedError(e.into()))?; - let mut headers = HeaderMap::new(); - headers.insert("HX-Redirect", "/admin/dashboard".parse().unwrap()); - Ok((StatusCode::OK, headers).into_response()) + let mut response = Redirect::to("/admin/dashboard").into_response(); + response + .headers_mut() + .insert("HX-Redirect", "/admin/dashboard".parse().unwrap()); + Ok(response) } } } diff --git a/tests/api/helpers.rs b/tests/api/helpers.rs index ff04ed9..e43a62d 100644 --- a/tests/api/helpers.rs +++ b/tests/api/helpers.rs @@ -297,9 +297,8 @@ async fn configure_database(config: &DatabaseSettings) -> PgPool { } pub fn assert_is_redirect_to(response: &reqwest::Response, location: &str) { - dbg!(&response); - assert_eq!(response.status().as_u16(), 200); - assert_eq!(response.headers().get("hx-redirect").unwrap(), location); + assert_eq!(response.status().as_u16(), 303); + assert_eq!(response.headers().get("location").unwrap(), location); } pub fn when_sending_an_email() -> MockBuilder {