Files
pipu-music/services/recommender/tests/test_onboarding.py
T
mrleo1nid fff91c446b
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
feat(recommendations): collect demographics and advance age cohorts
2026-10-22 14:19:52 +03:00

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}