Files
resume-agent/backend/tests/test_optimization_tiers.py
T
hypandClaude ae2d9b128d feat: builder 简历生成 + 轻度优化 + 简历导入交付副本
自内部仓库剥离深度优化与 RAG 知识库后的交付版本:
- Builder 对话式简历生成(FSM + 意图路由 LLM 兜底增强)
- 条目级轻度优化:事实覆盖门禁 + STAR/bullet 修复链,功能/简介/成果与技术栈同级保护
- 简历导入:DOCX/PDF 解析、结构归一、手机号脱敏
- PostgreSQL 运行时 + Alembic 迁移链

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 11:08:30 +08:00

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