diff --git a/tests/test_integration.py b/tests/test_integration.py index 6e31dd7..2606b1d 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -141,8 +141,16 @@ def _make_config(vault_path: Path, vector_store_path: Path) -> Config: @patch("companion.rag.search.OllamaEmbedder") @patch("companion.rag.indexer.OllamaEmbedder") def test_index_and_search_flow(mock_indexer_embedder, mock_search_embedder): + """Verify end-to-end indexing and semantic search with mocked embeddings.""" mock_embed = MagicMock() - mock_embed.embed.return_value = [[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] + + def mock_embed_side_effect(texts): + return [ + [1.0, 0.0, 0.0, 0.0] if i == 0 else [0.0, 1.0, 0.0, 0.0] + for i in range(len(texts)) + ] + + mock_embed.embed.side_effect = mock_embed_side_effect mock_indexer_embedder.return_value = mock_embed mock_search_embedder.return_value = mock_embed @@ -171,3 +179,8 @@ def test_index_and_search_flow(mock_indexer_embedder, mock_search_embedder): assert len(results) >= 1 files = {r["source_file"] for r in results} assert "note1.md" in files + + results = engine.search("goodbye") + assert len(results) >= 1 + files = {r["source_file"] for r in results} + assert "note2.md" in files