2026-09-09 22:05:00 +08:00
|
|
|
|
"""
|
2026-09-18 11:49:18 +08:00
|
|
|
|
V1.1 活动互选二阶段同意 E2E —— 空壳已移除(Phase 23 KEEP-VERIFY,2026-09-18)
|
|
|
|
|
|
|
|
|
|
|
|
历史问题
|
|
|
|
|
|
--------
|
|
|
|
|
|
原文件 8 个测试函数**全部**为 `pass` 空壳(注释「TODO: P16 实现后完善」),
|
|
|
|
|
|
依赖不存在的 `activity_factory` / `user_a` / `user_b` 等 fixture(全局无 `conftest.py`),
|
|
|
|
|
|
从未执行过,却在 `docs/STATUS.md` 中被计为 P23-T11「活动互选 E2E ✅」。
|
|
|
|
|
|
|
|
|
|
|
|
计划 Phase 23 Gate:「**不允许 skip/pass 空壳**」。
|
|
|
|
|
|
|
|
|
|
|
|
当前状态
|
|
|
|
|
|
--------
|
|
|
|
|
|
本文件现**不含任何测试函数**,pytest 收集 0 个用例。
|
|
|
|
|
|
|
|
|
|
|
|
仍待真实实现的场景(需求不因移除空壳而丢失)
|
|
|
|
|
|
------------------------------------------
|
|
|
|
|
|
1. Activity Mutual Interest 不直接创建 Match(INV-014)
|
|
|
|
|
|
2. 一方确认不创建 Match(INV-015)
|
|
|
|
|
|
3. 双方确认后创建新 Match Episode
|
|
|
|
|
|
4. 已有 active Match 时不重复创建(AGENTS.md #19)
|
|
|
|
|
|
5. 曾 Unmatch 后重新确认创建新 Episode(AGENTS.md #20)
|
|
|
|
|
|
6. 一方拒绝则不创建 Match
|
|
|
|
|
|
7. 超时(expires_at)处理
|
|
|
|
|
|
8. 单向意向不泄露给对方(INV-006)
|
|
|
|
|
|
|
|
|
|
|
|
现状补充(Phase 23 实测)
|
|
|
|
|
|
------------------------
|
|
|
|
|
|
INV-014 / INV-015 在后端已有**真实行为测试**覆盖:
|
|
|
|
|
|
`backend/.../activity_mutual/ActivityMutualConsentServiceTest`
|
|
|
|
|
|
(双确认 Gate、decline 不建 Match、复用已有 active Match、幂等、超时、软删过滤)。
|
|
|
|
|
|
即:E2E 层待补,但不变量本身并非无覆盖。
|
|
|
|
|
|
|
|
|
|
|
|
真实可执行的 V1.1 E2E 见:`tests/e2e/run_v11_tests.py`
|
2026-09-09 22:05:00 +08:00
|
|
|
|
"""
|