11"""Unit tests for CRUDBase generic repository."""
2- from uuid import uuid4
2+ from uuid import uuid4 , UUID
33
44import pytest
55from pydantic import BaseModel , EmailStr
@@ -35,7 +35,7 @@ class UserUpdate(BaseModel):
3535class TestCRUDBase :
3636 """Test suite for CRUDBase generic repository operations."""
3737
38- async def test_create_user (self , test_session : AsyncSession ):
38+ async def test_create_user (self , test_session : AsyncSession ) -> None :
3939 """Test creating a new user."""
4040 # Arrange
4141 user_in = UserCreate (
@@ -48,20 +48,20 @@ async def test_create_user(self, test_session: AsyncSession):
4848 # Assert
4949 assert created_user .id is not None
5050 assert created_user .email == "newuser@example.com"
51- assert created_user .is_active is True
52- assert created_user .is_superuser is False
51+ assert created_user .is_active == True
52+ assert created_user .is_superuser == False
5353
54- async def test_get_user (self , test_session : AsyncSession , test_user : User ):
54+ async def test_get_user (self , test_session : AsyncSession , test_user : User ) -> None :
5555 """Test retrieving a user by ID."""
5656 # Act
57- retrieved_user = await user_crud .get (test_session , test_user .id )
57+ retrieved_user = await user_crud .get (test_session , test_user .id ) # type: ignore[arg-type]
5858
5959 # Assert
6060 assert retrieved_user is not None
6161 assert retrieved_user .id == test_user .id
6262 assert retrieved_user .email == test_user .email
6363
64- async def test_get_nonexistent_user (self , test_session : AsyncSession ):
64+ async def test_get_nonexistent_user (self , test_session : AsyncSession ) -> None :
6565 """Test retrieving a non-existent user returns None."""
6666 # Arrange
6767 random_id = uuid4 ()
@@ -72,7 +72,7 @@ async def test_get_nonexistent_user(self, test_session: AsyncSession):
7272 # Assert
7373 assert retrieved_user is None
7474
75- async def test_get_multi_users (self , test_session : AsyncSession , test_user : User ):
75+ async def test_get_multi_users (self , test_session : AsyncSession , test_user : User ) -> None :
7676 """Test retrieving multiple users with pagination."""
7777 # Arrange - create additional users
7878 for i in range (5 ):
@@ -89,7 +89,7 @@ async def test_get_multi_users(self, test_session: AsyncSession, test_user: User
8989 assert len (users ) == 3
9090 assert all (isinstance (user , User ) for user in users )
9191
92- async def test_get_multi_with_skip (self , test_session : AsyncSession ):
92+ async def test_get_multi_with_skip (self , test_session : AsyncSession ) -> None :
9393 """Test pagination with skip parameter."""
9494 # Arrange - create 5 users
9595 for i in range (5 ):
@@ -108,7 +108,7 @@ async def test_get_multi_with_skip(self, test_session: AsyncSession):
108108 assert len (users_second_page ) == 2
109109 assert users_first_page [0 ].id != users_second_page [0 ].id
110110
111- async def test_update_user (self , test_session : AsyncSession , test_user : User ):
111+ async def test_update_user (self , test_session : AsyncSession , test_user : User ) -> None :
112112 """Test updating an existing user."""
113113 # Arrange
114114 update_data = UserUpdate (email = "updated@example.com" , is_active = False )
@@ -119,9 +119,9 @@ async def test_update_user(self, test_session: AsyncSession, test_user: User):
119119 # Assert
120120 assert updated_user .id == test_user .id
121121 assert updated_user .email == "updated@example.com"
122- assert updated_user .is_active is False
122+ assert updated_user .is_active == False
123123
124- async def test_update_user_with_dict (self , test_session : AsyncSession , test_user : User ):
124+ async def test_update_user_with_dict (self , test_session : AsyncSession , test_user : User ) -> None :
125125 """Test updating a user with a dictionary."""
126126 # Arrange
127127 update_data = {"is_superuser" : True }
@@ -130,10 +130,10 @@ async def test_update_user_with_dict(self, test_session: AsyncSession, test_user
130130 updated_user = await user_crud .update (test_session , db_obj = test_user , obj_in = update_data )
131131
132132 # Assert
133- assert updated_user .is_superuser is True
133+ assert updated_user .is_superuser == True
134134 assert updated_user .email == test_user .email # Unchanged
135135
136- async def test_partial_update (self , test_session : AsyncSession , test_user : User ):
136+ async def test_partial_update (self , test_session : AsyncSession , test_user : User ) -> None :
137137 """Test partial update only modifies specified fields."""
138138 # Arrange
139139 original_email = test_user .email
@@ -144,25 +144,25 @@ async def test_partial_update(self, test_session: AsyncSession, test_user: User)
144144
145145 # Assert
146146 assert updated_user .email == original_email # Unchanged
147- assert updated_user .is_active is False # Changed
147+ assert updated_user .is_active == False # Changed
148148
149- async def test_delete_user (self , test_session : AsyncSession , test_user : User ):
149+ async def test_delete_user (self , test_session : AsyncSession , test_user : User ) -> None :
150150 """Test deleting a user."""
151151 # Arrange
152152 user_id = test_user .id
153153
154154 # Act
155- deleted_user = await user_crud .delete (test_session , record_id = user_id )
155+ deleted_user = await user_crud .delete (test_session , record_id = user_id ) # type: ignore[arg-type]
156156
157157 # Assert
158158 assert deleted_user is not None
159159 assert deleted_user .id == user_id
160160
161161 # Verify user is actually deleted
162- retrieved_user = await user_crud .get (test_session , user_id )
162+ retrieved_user = await user_crud .get (test_session , user_id ) # type: ignore[arg-type]
163163 assert retrieved_user is None
164164
165- async def test_delete_nonexistent_user (self , test_session : AsyncSession ):
165+ async def test_delete_nonexistent_user (self , test_session : AsyncSession ) -> None :
166166 """Test deleting a non-existent user returns None."""
167167 # Arrange
168168 random_id = uuid4 ()
@@ -173,7 +173,7 @@ async def test_delete_nonexistent_user(self, test_session: AsyncSession):
173173 # Assert
174174 assert deleted_user is None
175175
176- async def test_count_users (self , test_session : AsyncSession , test_user : User ):
176+ async def test_count_users (self , test_session : AsyncSession , test_user : User ) -> None :
177177 """Test counting total users."""
178178 # Arrange - create additional users
179179 for i in range (3 ):
@@ -189,15 +189,15 @@ async def test_count_users(self, test_session: AsyncSession, test_user: User):
189189 # Assert
190190 assert count == 4 # 1 test_user + 3 created
191191
192- async def test_exists_user (self , test_session : AsyncSession , test_user : User ):
192+ async def test_exists_user (self , test_session : AsyncSession , test_user : User ) -> None :
193193 """Test checking if user exists."""
194194 # Act
195- exists = await user_crud .exists (test_session , record_id = test_user .id )
195+ exists = await user_crud .exists (test_session , record_id = test_user .id ) # type: ignore[arg-type]
196196
197197 # Assert
198198 assert exists is True
199199
200- async def test_not_exists_user (self , test_session : AsyncSession ):
200+ async def test_not_exists_user (self , test_session : AsyncSession ) -> None :
201201 """Test checking if non-existent user exists."""
202202 # Arrange
203203 random_id = uuid4 ()
0 commit comments