fix(test): 容量合同按 fixture.psql 的 f: 字母表断言(BUG-739)
Independent Staging Quality Gate / validate (push) Successful in 11m47s
Independent Staging Quality Gate / publish (push) Successful in 13m18s

Independent Staging Quality Gate run 2683 唯一失败:
database-consultation-session-capacity 期望 false:session_missing,
实际是 f:session_missing。夹具把 boolean::text 的 false 规范成 psql -A 的 f。
五处期望值对齐既有合同;无 Docker 源码合同锁住 false→f。
This commit is contained in:
jesse-ux
2026-09-16 15:22:55 +08:00
parent 8cb1877eb3
commit 7061d0d1f3
7 changed files with 143 additions and 5 deletions
+16
View File
@@ -11534,3 +11534,19 @@
- 相关记录:BUG-554(同一现象的第一次,本条为其复发)、BUG-695~697(触控与断点轮次,同一文件相邻区段)
- 复发自:BUG-554
- 修复版本:待发布
## BUG-739 | 咨询会话容量的真实 Postgres 合同把 `false:` 写成期望值,staging 门禁从 BUG-732 起一直红
- 状态:resolved
- 首次发现:2026-09-16
- 最近更新:2026-09-16
- 影响面:`frontend/tests/database-consultation-session-capacity.test.ts``frontend/tests/helpers/postgres-fixture.ts``psql()`、Independent Staging Quality Gate`backend-quality-gate.yml`
- 用户现象:用户看不见产品行为变化。staging 从 `dcfc2f15`(BUG-732)起每次含门禁路径的推送都红,镜像不发布、环境不更新。
- 触发条件:质量门跑 `npm run test:db`。Gitea run `2683` / job `6103`SHA `1e3570b4`
- 根因:`fixture.psql()``boolean::text``false` 规范成 psql `-A``f`,好让 `true:f:f` 这类冒号拼接在不同 Postgres 表示之间稳定。BUG-732 的真实库合同用了 `success::text`,却把期望值写成 `"false:session_missing"`。夹具一规范化,实际是 `f:session_missing`。本机当时无 Docker,该文件 skip,带红合入。
- 修复:五处失败分支的期望值改成 `f:session_missing` / `f:invalid_question_message` / `f:session_full`,与既有 `database-billing-admin` 等合同同一套字母表。夹具改写保留,加一行说明。源码合同锁住「期望值必须是 `f:`、夹具必须保留 false→f 规范化」,不依赖 Docker。
- 验证:`consultation-session-capacity.test.ts` 新增无 Docker 源码合同;定向套件全绿。本机仍无 Docker,真实 `test:db` 留给门禁。
- 防复发:对 `fixture.psql()` 的冒号拼接结果不得断言 `"false:"`。新增真实 Postgres 合同前先对照 `postgres-fixture.ts``false→f` 规范化,并用一条不需要 Docker 的源码合同锁期望值。
- 相关记录:BUG-732(引入这条真实库合同但未在有 Docker 的机器上跑)
- 复发自:无
- 修复版本:待发布