from unittest.mock import AsyncMock, MagicMock import pytest from src.services.auth_service import AuthService @pytest.mark.asyncio async def test_authenticate_user_returns_token(monkeypatch): db = AsyncMock() service = AuthService(db) service.user_repo = MagicMock() service.user_repo.authenticate = AsyncMock( return_value=MagicMock(username="admin", email="admin@example.com") ) token = await service.authenticate_user("admin", "admin") assert token is not None assert token.access_token assert token.refresh_token assert token.token_type == "bearer" @pytest.mark.asyncio async def test_refresh_token_returns_none_for_invalid(): db = AsyncMock() service = AuthService(db) token = await service.refresh_token("bad-token") assert token is None