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
39
40
41
42
43
44
45
46
47
48
49
|
from uuid import uuid4
from generalresearch.managers.thl.profiling.question import QuestionManager
from generalresearch.models import Source
class TestQuestionManager:
def test_get_multi_upk(self, question_manager: QuestionManager, upk_data):
qs = question_manager.get_multi_upk(
question_ids=[
"8a22de34f985476aac85e15547100db8",
"0565f87d4bf044298ba169de1339ff7e",
"b2b32d68403647e3a87e778a6348d34c",
uuid4().hex,
]
)
assert len(qs) == 3
def test_get_questions_ranked(self, question_manager: QuestionManager, upk_data):
qs = question_manager.get_questions_ranked(country_iso="mx", language_iso="spa")
assert len(qs) >= 40
assert qs[0].importance.task_score > qs[40].importance.task_score
assert all(q.country_iso == "mx" and q.language_iso == "spa" for q in qs)
def test_lookup_by_property(self, question_manager: QuestionManager, upk_data):
q = question_manager.lookup_by_property(
property_code="i:industry", country_iso="us", language_iso="eng"
)
assert q.source == Source.INNOVATE
q.explanation_template = "You work in the {answer} industry."
q.explanation_fragment_template = "you work in the {answer} industry"
question_manager.update_question_explanation(q)
q = question_manager.lookup_by_property(
property_code="i:industry", country_iso="us", language_iso="eng"
)
assert q.explanation_template
def test_filter_by_property(self, question_manager: QuestionManager, upk_data):
lookup = [
("i:industry", "us", "eng"),
("i:industry", "mx", "eng"),
("m:age", "us", "eng"),
(f"m:{uuid4().hex}", "us", "eng"),
]
qs = question_manager.filter_by_property(lookup)
assert len(qs) == 3
|