import pytest from server.retriever import get_retriever from server.memory import create_memory from server.chain import build_qa_chain, run_query @pytest.fixture(scope="module") def chain(): retriever = get_retriever() memory = create_memory() return build_qa_chain(retriever, memory) def test_run_query_returns_required_keys(chain): result = run_query(chain, "What is UPI?") assert "answer" in result assert "source_documents" in result assert "question" in result def test_answer_is_non_empty_string(chain): result = run_query(chain, "What was Bajaj Finance profit in Q3 FY2024?") assert isinstance(result["answer"], str) assert len(result["answer"]) > 0 def test_source_documents_is_list(chain): result = run_query(chain, "RBI digital lending guidelines") assert isinstance(result["source_documents"], list) assert len(result["source_documents"]) > 0