diff --git a/tests/unit/test_search.py b/tests/unit/test_search.py index 75f8148..e6e3d4d 100644 --- a/tests/unit/test_search.py +++ b/tests/unit/test_search.py @@ -1,67 +1 @@ -"""Unit tests for SearchService.""" - -import pytest -from unittest.mock import AsyncMock, MagicMock -from memory_manager.core.services import SearchService -from memory_manager.db.models import MemoryCategory - - -@pytest.fixture -def mock_repository(): - return AsyncMock() - - -@pytest.fixture -def search_service(mock_repository): - return SearchService(mock_repository) - - -class TestSearchService: - @pytest.mark.asyncio - async def test_search_basic(self, search_service, mock_repository): - mock_entries = [ - MagicMock(to_dict=lambda: {"id": 1, "title": "Test Entry", "content": "Test content"}), - ] - mock_repository.search_entries = AsyncMock(return_value=mock_entries) - - result = await search_service.search(query="test") - - assert len(result) == 1 - assert result[0]["title"] == "Test Entry" - mock_repository.search_entries.assert_called_once() - - @pytest.mark.asyncio - async def test_search_with_category(self, search_service, mock_repository): - mock_repository.search_entries = AsyncMock(return_value=[]) - - await search_service.search( - query="test", - category=MemoryCategory.DECISION, - ) - - call_args = mock_repository.search_entries.call_args - assert call_args.kwargs["category"] == MemoryCategory.DECISION - - @pytest.mark.asyncio - async def test_search_with_filters(self, search_service, mock_repository): - mock_repository.search_entries = AsyncMock(return_value=[]) - - await search_service.search( - query="test", - agent_id="test-agent", - project_path="/test", - limit=50, - ) - - call_args = mock_repository.search_entries.call_args - assert call_args.kwargs["agent_id"] == "test-agent" - assert call_args.kwargs["project_path"] == "/test" - assert call_args.kwargs["limit"] == 50 - - @pytest.mark.asyncio - async def test_search_empty_results(self, search_service, mock_repository): - mock_repository.search_entries = AsyncMock(return_value=[]) - - result = await search_service.search(query="nonexistent") - - assert len(result) == 0 +test search content \ No newline at end of file