Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -20,7 +20,7 @@ class TestUserRepository:
|
||||
async def user_repository(
|
||||
self,
|
||||
test_session: AsyncSession,
|
||||
) -> AsyncGenerator[UserRepository, None]: # type: ignore[misc]
|
||||
) -> AsyncGenerator[UserRepository]: # type: ignore[misc]
|
||||
"""Create a user repository instance."""
|
||||
yield UserRepository(test_session)
|
||||
|
||||
@@ -209,6 +209,17 @@ class TestUserRepository:
|
||||
assert user.id is not None
|
||||
user_id = user.id
|
||||
|
||||
# Clean up any favorites that might reference this specific user to avoid foreign key constraint violations
|
||||
from sqlmodel import select
|
||||
|
||||
from app.models.favorite import Favorite
|
||||
|
||||
# Only delete favorites for the user we're about to delete, not all favorites
|
||||
existing_favorites = await test_session.exec(select(Favorite).where(Favorite.user_id == user_id))
|
||||
for favorite in existing_favorites.all():
|
||||
await test_session.delete(favorite)
|
||||
await test_session.commit()
|
||||
|
||||
# Delete the user
|
||||
await user_repository.delete(user)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user