From 0c9a26092225d5a2286dbe45a163c18bc5ff5973 Mon Sep 17 00:00:00 2001 From: Minh Vu Date: Thu, 22 May 2025 11:50:18 +1000 Subject: [PATCH] update BPA registration error message --- routers/bpa_register.py | 11 ++--------- tests/test_bpa_register.py | 11 +++++++---- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/routers/bpa_register.py b/routers/bpa_register.py index c6fc8aeb..e1585e9b 100644 --- a/routers/bpa_register.py +++ b/routers/bpa_register.py @@ -73,18 +73,11 @@ async def register_bpa_user( response = await client.post( url, headers=headers, json=user_data.model_dump() ) - - if response.status_code == 409: - raise HTTPException( - status_code=409, - detail="User with this email or username already exists", - ) - if response.status_code != 201: raise HTTPException( - status_code=400, detail=f"Failed to create user: {response.text}" + status_code=400, + detail=f"Registration failed: {response.json()['message']}", ) - return {"message": "User registered successfully", "user": response.json()} except HTTPException: diff --git a/tests/test_bpa_register.py b/tests/test_bpa_register.py index a494cf5a..d4c48fa0 100644 --- a/tests/test_bpa_register.py +++ b/tests/test_bpa_register.py @@ -71,14 +71,16 @@ def test_registration_duplicate_user( """Test registration with duplicate user""" mock_response = MagicMock() mock_response.status_code = 409 + mock_response.json.return_value = {"message": "User already exists"} + mocker.patch("httpx.AsyncClient.post", return_value=mock_response) response = client_with_settings_override.post( "/bpa/register", json=valid_registration_data ) - assert response.status_code == 409 - assert "already exists" in response.json()["detail"] + assert response.status_code == 400 + assert response.json()["detail"] == "Registration failed: User already exists" def test_registration_auth0_error( @@ -87,7 +89,8 @@ def test_registration_auth0_error( """Test registration with Auth0 API error""" mock_response = MagicMock() mock_response.status_code = 400 - mock_response.text = "Invalid request" + mock_response.json.return_value = {"message": "Invalid request"} + mocker.patch("httpx.AsyncClient.post", return_value=mock_response) response = client_with_settings_override.post( @@ -95,7 +98,7 @@ def test_registration_auth0_error( ) assert response.status_code == 400 - assert "Failed to create user" in response.json()["detail"] + assert response.json()["detail"] == "Registration failed: Invalid request" def test_registration_with_invalid_organization(