Phase 1 评审修复:M2M clean() 校验 + 正确页面树测试(20 tests) + AGENTS.md 同步

This commit is contained in:
ila
2026-07-06 21:00:09 +08:00
parent a2d2cd226d
commit 6ec28c8374
5 changed files with 352 additions and 46 deletions
+14
View File
@@ -213,3 +213,17 @@
- 阻塞:T-104 因缺少人工确认的首批项目清单而标 BLOCKED
- 下一步:等待用户提供首批种子内容(≥3 场景、≥5 项目、≥2 篇文章及其评分/评语),然后解除 T-104 阻塞。
## 2026-07-06 Phase 1 评审修复
- 状态:DONE
- 变更(按 `docs/review/phase1-review.md` 逐项修复):
- **Issue 1 (High)**:`SkeletonProjectPage.clean()` 新增 M2M 校验——已保存对象(`self.id is not None`)时检查 `scenarios.exists()` 和 `languages.exists()`,缺少任一项抛 `ValidationError`
- **Issue 2 (Medium)**:重写 `core/tests.py`——所有 Page 测试通过正确的页面树创建(`HomePage → ProjectIndexPage → SkeletonProjectPage`、`HomePage → ArticleIndexPage → ArticlePage`);新增 `test_missing_scenarios_raises_error`、`test_missing_languages_raises_error`、`test_all_m2m_set_passes` 三个验证 M2M 约束的测试
- **Issue 3 (Medium)**:`AGENTS.md` 更新当前阶段为 Phase 1 部分完成(T-101/102/103 DONE,T-104 BLOCKED),下一步明确为等待种子数据
- 验证:
- `manage.py test core home`:20 tests passed
- `manage.py check`:0 errors
- `makemigrations --check --dry-run`:No changes
- 阻塞:T-104 仍需要人工确认的首批种子内容
- 下一步:等待用户提供种子数据后解除 T-104 阻塞,然后进入 Phase 2