use axum::body::Body; use axum::http::{Request, StatusCode}; use forage_core::auth::*; use tower::ServiceExt; use crate::build_router; use crate::test_support::*; #[tokio::test] async fn delete_token_error_returns_500() { let mock = MockForestClient::with_behavior(MockBehavior { delete_token_result: Some(Err(AuthError::Other("db error".into()))), ..Default::default() }); let (state, sessions) = test_state_with(mock, MockPlatformClient::new()); let cookie = create_test_session(&sessions).await; let app = build_router(state); let response = app .oneshot( Request::builder() .method("POST") .uri("/settings/tokens/tok-1/delete") .header("cookie", cookie) .header("content-type", "application/x-www-form-urlencoded") .body(Body::from("_csrf=test-csrf")) .unwrap(), ) .await .unwrap(); assert_eq!(response.status(), StatusCode::INTERNAL_SERVER_ERROR); }