ci / ts / ts (packages + web) (push) Successful in 3m19s
ci / db / db (push) Successful in 53s
ci / module boundaries / boundaries (push) Successful in 7s
ci / api / api (push) Successful in 51s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m3s
ci / recommender / recommender (push) Failing after 16s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m15s
20 lines
732 B
Python
20 lines
732 B
Python
from unittest.mock import MagicMock
|
|
|
|
from pipu_rec.wave.store import apply_demographics
|
|
|
|
|
|
def test_missing_demographics_do_not_create_a_prior() -> None:
|
|
conn = MagicMock()
|
|
scores = {"own": 3.0}
|
|
apply_demographics(conn, scores, {}, "user")
|
|
conn.execute.assert_not_called()
|
|
assert scores == {"own": 3.0}
|
|
|
|
|
|
def test_cohort_prior_is_weak_and_never_overwrites_personal_scores() -> None:
|
|
conn = MagicMock()
|
|
conn.execute.return_value = [("liked", 10), ("skipped", 10), ("peer", 100), ("small", 2)]
|
|
scores = {"liked": 3.0, "skipped": -1.0}
|
|
apply_demographics(conn, scores, {"gender": "male", "age_group": "13_19"}, "user")
|
|
assert scores == {"liked": 3.0, "skipped": -1.0, "peer": 0.25, "small": 0.1}
|