Skip to content

Commit c2d1586

Browse files
committed
Adapt genai and client tests to new changes
1 parent 7ed0ac7 commit c2d1586

File tree

5 files changed

+47
-22
lines changed

5 files changed

+47
-22
lines changed

client/src/components/__tests__/MessageItem.test.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,18 @@ describe("MessageItem Component", () => {
3434
render(<MessageItem message={mockBotMessage} />);
3535

3636
expect(screen.getByText("AI Assistant")).toBeInTheDocument();
37-
expect(screen.getByText("I'm doing well, thank you!")).toBeInTheDocument();
38-
expect(screen.getByText("How can I help you today?")).toBeInTheDocument();
37+
expect(screen.getByText(/I'm doing well, thank you!/)).toBeInTheDocument();
38+
expect(screen.getByText(/How can I help you today?/)).toBeInTheDocument();
3939
expect(screen.getByText(/ago/)).toBeInTheDocument();
4040
});
4141

4242
it("handles multi-line content with proper paragraph breaks", () => {
4343
render(<MessageItem message={mockBotMessage} />);
4444

45-
const paragraphs = screen.getAllByText(/I'm doing well|How can I help/);
46-
expect(paragraphs).toHaveLength(2);
45+
// With react-markdown, newlines create line breaks within a single paragraph
46+
const paragraph = screen.getByText(/I'm doing well, thank you!/);
47+
expect(paragraph).toBeInTheDocument();
48+
expect(paragraph.textContent).toContain("I'm doing well, thank you!");
49+
expect(paragraph.textContent).toContain("How can I help you today?");
4750
});
4851
});

genai/tests/integration/generation_test.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66

77

88
@patch("rag.llm.chat_model.ChatModel.invoke")
9-
@patch("routes.routes.qdrant.client.collection_exists", return_value=False)
9+
@patch(
10+
"service.qdrant_service.qdrant.client.collection_exists",
11+
return_value=False
12+
)
1013
def test_generate_endpoint_success(_mock_exists, mock_invoke):
1114
mock_response = MagicMock()
1215
mock_response.content = "This is a test response"
@@ -31,7 +34,10 @@ def test_generate_endpoint_success(_mock_exists, mock_invoke):
3134

3235

3336
@patch("rag.llm.chat_model.ChatModel.invoke")
34-
@patch("routes.routes.qdrant.client.collection_exists", return_value=False)
37+
@patch(
38+
"service.qdrant_service.qdrant.client.collection_exists",
39+
return_value=False
40+
)
3541
def test_generate_endpoint_empty_messages(_mock_exists, mock_invoke):
3642

3743
mock_response = MagicMock()

genai/tests/integration/upload_test.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
client = TestClient(app)
88

99

10-
@patch("routes.routes.qdrant.client.collection_exists", return_value=False)
11-
@patch("routes.routes.qdrant.create_and_get_vector_storage")
12-
@patch("routes.routes.IngestionPipeline")
10+
@patch(
11+
"service.qdrant_service.qdrant.client.collection_exists",
12+
return_value=False
13+
)
14+
@patch("service.qdrant_service.qdrant.create_and_get_vector_storage")
15+
@patch("service.qdrant_service.IngestionPipeline")
1316
def test_upload_file_success(
1417
mock_pipeline_class,
1518
_mock_vector_store,
@@ -62,8 +65,14 @@ def test_upload_file_invalid_type():
6265
app.dependency_overrides.clear()
6366

6467

65-
@patch("routes.routes.qdrant.client.collection_exists", return_value=True)
66-
@patch("routes.routes.qdrant.collection_contains_file", return_value=True)
68+
@patch(
69+
"service.qdrant_service.qdrant.client.collection_exists",
70+
return_value=True
71+
)
72+
@patch(
73+
"service.qdrant_service.qdrant.collection_contains_file",
74+
return_value=True
75+
)
6776
def test_upload_file_already_exists(_mock_contains, _mock_exists):
6877
# Mock the authentication
6978
mock_user = UserInfo(user_id=123, username="test_user")

genai/tests/unit/test_prompt.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,11 @@ def test_process_raw_messages_ignores_unknown_roles():
2525

2626

2727
def test_prepare_prompt_structure():
28-
system_prompt = "You are a helpful assistant. Context: {context}"
2928
query = "What's a good recipe with eggs?"
3029
docs = "Here are some egg-based recipes."
3130
messages = [AIMessage(content="Hi there!")]
3231

33-
prompt = prepare_prompt(system_prompt, query, docs, messages)
32+
prompt = prepare_prompt(query, docs, messages)
3433

3534
assert hasattr(prompt, "to_messages")
3635
final_messages = prompt.to_messages()
@@ -39,12 +38,11 @@ def test_prepare_prompt_structure():
3938

4039

4140
def test_prepare_prompt_includes_docs_context():
42-
system_prompt = "Use this: {context}"
4341
query = "Tell me something"
4442
docs = "Documented info"
4543
messages = []
4644

47-
prompt = prepare_prompt(system_prompt, query, docs, messages)
45+
prompt = prepare_prompt(query, docs, messages)
4846
rendered = prompt.to_string()
4947
assert "Documented info" in rendered
5048
assert "Tell me something" in rendered

genai/tests/unit/test_retrieval.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
1-
from unittest.mock import MagicMock
1+
from unittest.mock import MagicMock, patch
22
from langchain_core.documents import Document
33
from service.rag_service import retrieve_similar_docs
44

55

6-
def test_retrieve_similar_docs_returns_joined_string():
6+
@patch('service.rag_service.get_vector_store')
7+
def test_retrieve_similar_docs_returns_joined_string(mock_get_vector_store):
8+
collection_name = "test_collection"
79
mock_vector_store = MagicMock()
8-
mock_retriever = mock_vector_store.as_retriever.return_value
10+
mock_retriever = MagicMock()
911
mock_retriever.invoke.return_value = [
1012
Document(page_content="Doc 1"),
1113
Document(page_content="Doc 2")
1214
]
15+
mock_vector_store.as_retriever.return_value = mock_retriever
16+
mock_get_vector_store.return_value = mock_vector_store
1317

14-
result = retrieve_similar_docs(mock_vector_store, "test query")
18+
result = retrieve_similar_docs(collection_name, "test query")
1519

1620
assert "Doc 1" in result
1721
assert "Doc 2" in result
1822
assert result == "Doc 1\n\nDoc 2"
1923

2024

21-
def test_retrieve_similar_docs_with_empty_results():
25+
@patch('service.rag_service.get_vector_store')
26+
def test_retrieve_similar_docs_with_empty_results(mock_get_vector_store):
27+
collection_name = "test_collection"
2228
mock_vector_store = MagicMock()
23-
mock_vector_store.as_retriever.return_value.invoke.return_value = []
29+
mock_retriever = MagicMock()
30+
mock_retriever.invoke.return_value = []
31+
mock_vector_store.as_retriever.return_value = mock_retriever
32+
mock_get_vector_store.return_value = mock_vector_store
2433

25-
result = retrieve_similar_docs(mock_vector_store, "irrelevant query")
34+
result = retrieve_similar_docs(collection_name, "irrelevant query")
2635
assert result == ""

0 commit comments

Comments
 (0)