@@ -54,43 +54,22 @@ def test_successful_registration(
5454 test_client , mock_auth_token , mocker , valid_registration_data
5555):
5656 """Test successful user registration with BPA service"""
57+
5758 mock_response = MagicMock ()
5859 mock_response .status_code = 201
5960 mock_response .json .return_value = {"user_id" : "auth0|123" }
6061
61- mock_post = mocker .patch ("httpx.AsyncClient.post" , return_value = mock_response )
62+ mocker .patch ("httpx.AsyncClient.post" , return_value = mock_response )
63+
64+ mock_email_cls = mocker .patch ("routers.bpa_register.EmailService" , autospec = True )
65+ mock_email_cls .return_value .send .return_value = True
6266
6367 response = test_client .post ("/bpa/register" , json = valid_registration_data )
6468
6569 assert response .status_code == 200
6670 assert response .json ()["message" ] == "User registered successfully"
6771
68- called_data = mock_post .call_args [1 ]["json" ]
69- assert called_data ["email" ] == valid_registration_data ["email" ]
70- assert called_data ["username" ] == valid_registration_data ["username" ]
71- assert called_data ["name" ] == valid_registration_data ["fullname" ]
72-
73- app_metadata = called_data ["app_metadata" ]
74- assert len (app_metadata ["services" ]) == 1
75- bpa_service = app_metadata ["services" ][0 ]
76- assert bpa_service ["name" ] == "Bioplatforms Australia Data Portal"
77- assert bpa_service ["status" ] == "pending"
78- assert "last_updated" in bpa_service
79- assert "updated_by" in bpa_service
80- assert bpa_service ["updated_by" ] == "system"
81- assert len (bpa_service ["resources" ]) == 2
82-
83- for resource in bpa_service ["resources" ]:
84- assert "last_updated" in resource
85- assert "updated_by" in resource
86- assert "initial_request_time" in resource
87- assert resource ["updated_by" ] == "system"
88-
89- assert (
90- called_data ["user_metadata" ]["bpa" ]["registration_reason" ]
91- == valid_registration_data ["reason" ]
92- )
93-
72+ mock_email_cls .return_value .send .assert_called_once ()
9473
9574def test_service_and_resources_have_updated_by_system ():
9675 service = Service (
@@ -244,12 +223,16 @@ def test_all_organizations_selected(
244223 mock_response = MagicMock ()
245224 mock_response .status_code = 201
246225 mock_response .json .return_value = {"user_id" : "auth0|123" }
247-
248226 mock_post = mocker .patch ("httpx.AsyncClient.post" , return_value = mock_response )
249227
228+ email_service_cls = mocker .patch ("routers.bpa_register.EmailService" , autospec = True )
229+ email_service_cls .return_value .send .return_value = True
230+
250231 response = test_client .post ("/bpa/register" , json = data )
251232
252233 assert response .status_code == 200
253234 called_data = mock_post .call_args [1 ]["json" ]
254235 bpa_service = called_data ["app_metadata" ]["services" ][0 ]
255236 assert len (bpa_service ["resources" ]) == len (mock_settings .organizations )
237+
238+ email_service_cls .return_value .send .assert_called_once ()
0 commit comments