Files
resume-agent/backend/tests/test_optimization_tiers.py
T

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