File size: 1,202 Bytes
7a28b9f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from researchmind.scope import (
    rag_scope_warning,
    resolve_retrieve_scope,
    retrieval_query,
)


def test_resolve_retrieve_scope_doc_ids():
    assert resolve_retrieve_scope("sess-1", ["d1", "d2"]) == (None, ["d1", "d2"])


def test_resolve_retrieve_scope_session():
    assert resolve_retrieve_scope("sess-1", None) == ("sess-1", None)
    assert resolve_retrieve_scope("sess-1", []) == ("sess-1", None)


def test_resolve_retrieve_scope_corpus():
    assert resolve_retrieve_scope(None, None) == (None, None)
    assert resolve_retrieve_scope("", None) == (None, None)


def test_retrieval_query_combines_topic():
    assert retrieval_query("How does it work?", topic="Photosynthesis") == (
        "Photosynthesis: How does it work?"
    )


def test_retrieval_query_skips_duplicate_topic():
    assert retrieval_query("Explain photosynthesis", topic="Photosynthesis") == (
        "Explain photosynthesis"
    )


def test_rag_scope_warning_messages():
    assert "selected documents" in rag_scope_warning(session_id="s", doc_ids=["d"])
    assert "this session" in rag_scope_warning(session_id="s", doc_ids=None)
    assert "corpus" in rag_scope_warning(session_id=None, doc_ids=None)