generated from kgod/ai-review-template
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
"""Tests for membership-tier pipeline parameterization."""
|
|
|
|
from app.optimization_tiers import tier_config_for_session
|
|
|
|
|
|
def test_default_session_uses_free_tier(monkeypatch) -> None:
|
|
monkeypatch.delenv("RESUME_AGENT_DEFAULT_TIER", raising=False)
|
|
config = tier_config_for_session({"profile": {}})
|
|
|
|
assert config.tier == "free"
|
|
assert config.deep_allowed is False
|
|
assert config.include_gap_report is True
|
|
assert config.max_questions == 0
|
|
|
|
|
|
def test_vip_tier_enables_deep_interview_with_complete_preset() -> None:
|
|
config = tier_config_for_session({"profile": {"entitlement_tier": "VIP"}})
|
|
|
|
assert config.tier == "vip"
|
|
assert config.deep_allowed is True
|
|
assert config.max_questions == 6
|
|
assert config.min_questions == 2
|
|
assert config.gap_threshold == 8.0
|
|
|
|
|
|
def test_unknown_tier_falls_back_to_free() -> None:
|
|
config = tier_config_for_session({"profile": {"entitlement_tier": "enterprise_x"}})
|
|
|
|
assert config.tier == "free"
|
|
assert config.deep_allowed is False
|
|
|
|
|
|
def test_unentitled_session_uses_local_vip_default(monkeypatch) -> None:
|
|
monkeypatch.setenv("RESUME_AGENT_DEFAULT_TIER", "vip")
|
|
|
|
config = tier_config_for_session({"profile": {}})
|
|
|
|
assert config.tier == "vip"
|
|
assert config.deep_allowed is True
|
|
assert config.gap_threshold == 8.0
|
|
|
|
|
|
def test_explicit_free_entitlement_overrides_local_vip_default(monkeypatch) -> None:
|
|
monkeypatch.setenv("RESUME_AGENT_DEFAULT_TIER", "vip")
|
|
|
|
config = tier_config_for_session({"profile": {"entitlement_tier": "free"}})
|
|
|
|
assert config.tier == "free"
|
|
assert config.deep_allowed is False
|