Files
danyang-match/tests/e2e/referral_v11_test.py
T

51 lines
2.1 KiB
Python
Raw Normal View History

"""
红娘转介 E2E(INV-005:红娘不可代用户操作)。
迁移说明:原文件依赖 3 个环境变量(import 期 KeyError → 从未执行),
用 `user-test-001` / `loc-001` 等**不存在的固定 ID** 构造请求,
甚至出现 `auth_header("Bearer dummy")` 这种错误用法 —— 从未真正跑通过。
改造后只保留可真实执行的断言;被 D-24-E 权限缺口阻塞的场景在下方注释中
如实记录,不写成"看起来在测、实际恒过"的假用例。
"""
import pytest
pytestmark = pytest.mark.e2e
def test_referral_history_is_accessible(api, user_token):
data = api.ok("GET", "/referrals/my-history", token=user_token)
assert isinstance(data, list)
def test_matchmaker_cannot_confirm_on_users_behalf(api, operator_token, new_user):
"""
INV-005:红娘不能替用户确认转介。
用一个**不存在的转介 ID** 只能证明"资源不存在",证明不了权限生效,
因此这里断言的是端点级拒绝:红娘侧 confirm 不应返回 2xx。
"""
mm_token = operator_token("e2e_matchmaker")
resp = api.call(
"POST",
"/referrals/00000000-0000-0000-0000-000000000000/confirm",
token=mm_token,
json={"targetType": "service_station"},
)
assert not (200 <= resp.status_code < 300), (
f"红娘竟能代用户确认转介:HTTP {resp.status_code} {resp.text[:200]}"
)
# ---------------------------------------------------------------------------
# 被阻塞场景(D-24-E:全新库下 matchmaker 角色 0 权限、super_admin 仅 18/48)
#
# 下列场景当前无法真实执行,故**不写成用例**(写上去只能靠"资源不存在"恒过,
# 那正是本轮要清除的假覆盖):
# - 红娘创建转介(POST /referrals/service-station)→ 当前 403
# - 红娘转介活动(POST /referrals/activity)→ 当前 403
# - 转介 source 追踪(需真实 appointmentId)
#
# 待权限 seed 补齐(见 Phase 24 报告 D-24-E)后,按上述真实链路补齐用例。
# ---------------------------------------------------------------------------