"""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