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}