From cc44e20091d38c293fcfdc368b8aa8c185914610 Mon Sep 17 00:00:00 2001 From: Azhar Botbayeva Date: Fri, 26 Jul 2024 14:09:35 +0100 Subject: [PATCH] test: add failure test case for create project endpoint --- src/backend/tests/test_projects_routes.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/backend/tests/test_projects_routes.py b/src/backend/tests/test_projects_routes.py index 9c7c68424a..06d2787bfb 100644 --- a/src/backend/tests/test_projects_routes.py +++ b/src/backend/tests/test_projects_routes.py @@ -51,9 +51,10 @@ async def test_create_project(client, admin_user, organisation): } odk_creds_models = project_schemas.ODKCentralDecrypted(**odk_credentials) + project_name = f"Test Project {uuid4()}" project_data = { "project_info": { - "name": f"Test Project {uuid4()}", + "name": project_name, "short_description": "test", "description": "test", }, @@ -85,6 +86,19 @@ async def test_create_project(client, admin_user, organisation): response_data = response.json() assert "id" in response_data + # Duplicate response to test error condition: project name already exists + response_duplicate = client.post( + f"/projects/create-project?org_id={organisation.id}", json=project_data + ) + + assert response_duplicate.status_code == 400 + response_duplicate_data = response_duplicate.json() + assert "detail" in response_duplicate_data + assert ( + response_duplicate_data["detail"] + == f"Project already exists with the name {project_name}" + ) + async def test_delete_project(client, admin_user, project): """Test deleting a FMTM project, plus ODK Central project."""