diff --git a/Local-Development-and-Verification.-.md b/Local-Development-and-Verification.-.md index a283d5e..39c06cb 100644 --- a/Local-Development-and-Verification.-.md +++ b/Local-Development-and-Verification.-.md @@ -416,3 +416,20 @@ go test ./internal/core/apikey -count=1 ``` `CHORUS_DSN` 与 `CHORUS_MIGRATE_URL` 必须指向同一个明确创建的可丢弃库。测试会重置目标库结构,严禁指向 `chorus`、当前开发库、共享库或生产库。#41 已在本机 MySQL 8.4.8 独立库完成迁移 up/down/up、非空数据 down 拒绝、仓储创建/读取/改名/撤销和事务回滚验证。 + + +## #42 Portal API Key 验证 + +普通回归和前端产物构建: + +```powershell +go test ./... +go vet ./... +go -C admin test ./... +pnpm --dir portal/web build +``` + +涉及真实仓储与 Handler 的验证必须使用显式命名、可丢弃的 MySQL 8 隔离库,不得指向当前开发库、共享库或生产库。#42 已在独立库覆盖 CSRF、创建后仅一次返回完整 token、数据库 hash、刷新不回显、非法有效期、跨用户 404、停用用户 403、改名和幂等撤销。 + +浏览器 E2E 使用 `portal/web/e2e/fixture` 的合成用户和独立库,在 375、768、1024、1440 四种视口执行创建、一次展示、关闭后清除、刷新不可恢复、改名和撤销,并检查无外部请求、无页面横向溢出和至少 44px 的操作目标。测试截图只能在完整 token 已从 DOM 清除后生成。 +