diff --git a/tests/unit/test_memory_service.py b/tests/unit/test_memory_service.py index 005bdde..241d0ca 100644 --- a/tests/unit/test_memory_service.py +++ b/tests/unit/test_memory_service.py @@ -1,97 +1 @@ -import pytest -from unittest.mock import AsyncMock, MagicMock -from memory_manager.core.services import MemoryService, SearchService, CommitService -from memory_manager.db.models import MemoryCategory - - -@pytest.fixture -def mock_repository(): - return AsyncMock() - - -@pytest.fixture -def memory_service(mock_repository): - return MemoryService(mock_repository) - - -class TestMemoryService: - @pytest.mark.asyncio - async def test_create_entry(self, memory_service, mock_repository): - mock_entry = MagicMock() - mock_entry.to_dict.return_value = { - "id": 1, - "title": "Test Entry", - "content": "Test content", - "category": "decision", - "tags": ["test"], - "agent_id": "test-agent", - "project_path": "/test", - "created_at": "2024-01-01T00:00:00", - "updated_at": "2024-01-01T00:00:00", - } - mock_repository.create_entry = AsyncMock(return_value=mock_entry) - - result = await memory_service.create_entry( - title="Test Entry", - content="Test content", - category=MemoryCategory.DECISION, - tags=["test"], - agent_id="test-agent", - project_path="/test", - ) - - assert result["title"] == "Test Entry" - assert result["id"] == 1 - mock_repository.create_entry.assert_called_once() - - @pytest.mark.asyncio - async def test_get_entry(self, memory_service, mock_repository): - mock_entry = MagicMock() - mock_entry.to_dict.return_value = {"id": 1, "title": "Test"} - mock_repository.get_entry = AsyncMock(return_value=mock_entry) - - result = await memory_service.get_entry(1) - - assert result["id"] == 1 - mock_repository.get_entry.assert_called_once_with(1) - - @pytest.mark.asyncio - async def test_get_entry_not_found(self, memory_service, mock_repository): - mock_repository.get_entry = AsyncMock(return_value=None) - - result = await memory_service.get_entry(999) - - assert result is None - - @pytest.mark.asyncio - async def test_update_entry(self, memory_service, mock_repository): - mock_entry = MagicMock() - mock_entry.to_dict.return_value = {"id": 1, "title": "Updated"} - mock_repository.update_entry = AsyncMock(return_value=mock_entry) - - result = await memory_service.update_entry(entry_id=1, title="Updated") - - assert result["title"] == "Updated" - mock_repository.update_entry.assert_called_once() - - @pytest.mark.asyncio - async def test_delete_entry(self, memory_service, mock_repository): - mock_repository.delete_entry = AsyncMock(return_value=True) - - result = await memory_service.delete_entry(1) - - assert result is True - mock_repository.delete_entry.assert_called_once_with(1) - - @pytest.mark.asyncio - async def test_list_entries(self, memory_service, mock_repository): - mock_entries = [ - MagicMock(to_dict=lambda: {"id": 1, "title": "Entry 1"}), - MagicMock(to_dict=lambda: {"id": 2, "title": "Entry 2"}), - ] - mock_repository.list_entries = AsyncMock(return_value=mock_entries) - - result = await memory_service.list_entries() - - assert len(result) == 2 - assert result[0]["id"] == 1 +test memory service content \ No newline at end of file