| 
                        1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
                        - import pytest
 - 
 - from libs.helper import extract_tenant_id
 - from models.account import Account
 - from models.model import EndUser
 - 
 - 
 - class TestExtractTenantId:
 -     """Test cases for the extract_tenant_id utility function."""
 - 
 -     def test_extract_tenant_id_from_account_with_tenant(self):
 -         """Test extracting tenant_id from Account with current_tenant_id."""
 -         # Create a mock Account object
 -         account = Account()
 -         # Mock the current_tenant_id property
 -         account._current_tenant = type("MockTenant", (), {"id": "account-tenant-123"})()
 - 
 -         tenant_id = extract_tenant_id(account)
 -         assert tenant_id == "account-tenant-123"
 - 
 -     def test_extract_tenant_id_from_account_without_tenant(self):
 -         """Test extracting tenant_id from Account without current_tenant_id."""
 -         # Create a mock Account object
 -         account = Account()
 -         account._current_tenant = None
 - 
 -         tenant_id = extract_tenant_id(account)
 -         assert tenant_id is None
 - 
 -     def test_extract_tenant_id_from_enduser_with_tenant(self):
 -         """Test extracting tenant_id from EndUser with tenant_id."""
 -         # Create a mock EndUser object
 -         end_user = EndUser()
 -         end_user.tenant_id = "enduser-tenant-456"
 - 
 -         tenant_id = extract_tenant_id(end_user)
 -         assert tenant_id == "enduser-tenant-456"
 - 
 -     def test_extract_tenant_id_from_enduser_without_tenant(self):
 -         """Test extracting tenant_id from EndUser without tenant_id."""
 -         # Create a mock EndUser object
 -         end_user = EndUser()
 -         end_user.tenant_id = None
 - 
 -         tenant_id = extract_tenant_id(end_user)
 -         assert tenant_id is None
 - 
 -     def test_extract_tenant_id_with_invalid_user_type(self):
 -         """Test extracting tenant_id with invalid user type raises ValueError."""
 -         invalid_user = "not_a_user_object"
 - 
 -         with pytest.raises(ValueError, match="Invalid user type.*Expected Account or EndUser"):
 -             extract_tenant_id(invalid_user)
 - 
 -     def test_extract_tenant_id_with_none_user(self):
 -         """Test extracting tenant_id with None user raises ValueError."""
 -         with pytest.raises(ValueError, match="Invalid user type.*Expected Account or EndUser"):
 -             extract_tenant_id(None)
 - 
 -     def test_extract_tenant_id_with_dict_user(self):
 -         """Test extracting tenant_id with dict user raises ValueError."""
 -         dict_user = {"id": "123", "tenant_id": "456"}
 - 
 -         with pytest.raises(ValueError, match="Invalid user type.*Expected Account or EndUser"):
 -             extract_tenant_id(dict_user)
 
 
  |