From ae9ed6e9a703f8a80880d0b1cb421de3cf024cd3 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 16 Mar 2026 08:58:59 +0000 Subject: [PATCH] test: add 500 error test for saved search deletion Adds test coverage for the 500 Internal Server Error path when deleting a saved search fails due to a database error. The 404 path was already covered, so this brings full coverage to the deletion error handling in app/api/saved_searches.py. Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> --- tests/test_api_advanced_filters.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/test_api_advanced_filters.py b/tests/test_api_advanced_filters.py index 03bd7b24..ab5d76af 100644 --- a/tests/test_api_advanced_filters.py +++ b/tests/test_api_advanced_filters.py @@ -318,6 +318,22 @@ class TestSavedSearchesCRUD: response = client.delete("/api/saved-searches/999") assert response.status_code == 404 + def test_delete_saved_search_db_error(self, client: TestClient): + """DELETE /api/saved-searches/{id} handles database errors (500).""" + from unittest.mock import patch + + # Create + create_resp = client.post( + "/api/saved-searches", + json={"name": "To Delete DB Error", "filters": {"status": "failed"}}, + ) + search_id = create_resp.json()["id"] + + with patch("sqlalchemy.orm.Session.delete", side_effect=Exception("DB Delete Error")): + response = client.delete(f"/api/saved-searches/{search_id}") + assert response.status_code == 500 + assert response.json()["detail"] == "Failed to delete saved search" + def test_create_name_too_long(self, client: TestClient): """POST /api/saved-searches with name > 100 chars returns 422.""" payload = {