@@ -208,7 +208,10 @@ async def test_remove_member_blocked_when_unsettled(self):
208208 {"userId" : member_id , "role" : "member" },
209209 ],
210210 }
211- settlements .count_documents .return_value = 2 # pending exists
211+ settlements .find_one .return_value = {
212+ "_id" : ObjectId (),
213+ "status" : "pending" ,
214+ } # Has pending settlements
212215
213216 with patch .object (self .service , "get_db" , return_value = mock_db ):
214217 with pytest .raises (HTTPException ) as exc :
@@ -239,7 +242,7 @@ async def test_remove_member_allowed_when_settled(self):
239242 ],
240243 }
241244 ]
242- settlements .count_documents .return_value = 0
245+ settlements .find_one .return_value = None # No pending settlements
243246 groups .update_one .return_value = MagicMock (modified_count = 1 )
244247
245248 with patch .object (self .service , "get_db" , return_value = mock_db ):
@@ -266,7 +269,7 @@ async def test_leave_group_blocked_when_unsettled(self):
266269 {"userId" : "other" , "role" : "admin" },
267270 ],
268271 }
269- settlements .count_documents .return_value = 1
272+ settlements .find_one .return_value = { "_id" : ObjectId (), "status" : "pending" }
270273
271274 with patch .object (self .service , "get_db" , return_value = mock_db ):
272275 with pytest .raises (HTTPException ) as exc :
@@ -296,7 +299,7 @@ async def test_leave_group_allowed_when_settled(self):
296299 ],
297300 }
298301 ]
299- settlements .count_documents .return_value = 0
302+ settlements .find_one .return_value = None # No pending settlements
300303 groups .update_one .return_value = MagicMock (modified_count = 1 )
301304
302305 with patch .object (self .service , "get_db" , return_value = mock_db ):
@@ -527,7 +530,9 @@ async def test_leave_group_allow_member_to_leave(self):
527530 """Test allowing regular members to leave"""
528531 mock_db = AsyncMock ()
529532 mock_collection = AsyncMock ()
533+ mock_settlements = AsyncMock ()
530534 mock_db .groups = mock_collection
535+ mock_db .settlements = mock_settlements
531536
532537 group = {
533538 "_id" : ObjectId ("642f1e4a9b3c2d1f6a1b2c3d" ),
@@ -547,6 +552,7 @@ async def test_leave_group_allow_member_to_leave(self):
547552 }
548553
549554 mock_collection .find_one .return_value = group
555+ mock_settlements .find_one .return_value = None # No pending settlements
550556 mock_result = MagicMock ()
551557 mock_result .modified_count = 1
552558 mock_collection .update_one .return_value = mock_result
0 commit comments