fix(test): 容量合同按 fixture.psql 的 f: 字母表断言(BUG-739)
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:
@@ -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 的机器上跑)
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
Reference in New Issue
Block a user