/** * **执行工单的面孔在装配层这一处定**(2026-08-31,用户实测:「你怎么给我发成了执行工单, * 我需要的是验收工单」)。 * * 病:配方递下来 `variant: 'accept'`(验收工单 —— 件只读、人只确认),而装配层这一处 * 是一句写死只认 `'data'` 的三目,别的值**静默丢掉** —— 对话区照旧摆「执行工单」。 * * 更值得记的是**两头都有测,唯独中间没有**:配方那一头断言了「variant 原样递出去」, * 前端那一头断言了「accept 该穿哪副面孔」,e2e 按卡的**标题**驱动也照样绿 —— * 三处都对,而它们中间这一段把值扔了。**面孔要在真发卡那条路上断言。** */ import { describe, expect, it } from 'vitest'; import { executionCardVariant } from '../wiring/engines.ts'; describe('执行工单的两副变体面孔', () => { it('data 数据工单 / accept 验收工单,两个都认', () => { expect(executionCardVariant('data', undefined)).toBe('data'); expect(executionCardVariant('accept', undefined)).toBe('accept'); }); it('剧本声明优先于卡骨架 —— 模型抄卡会把 variant 抄丢(2026-08-27 实测)', () => { expect(executionCardVariant(undefined, 'data')).toBe('data'); expect(executionCardVariant('data', 'accept')).toBe('accept'); }); it('`review` 是决策卡那一路的面孔,不许串到执行工单上', () => { expect(executionCardVariant('review', undefined)).toBeUndefined(); expect(executionCardVariant(undefined, 'review')).toBeUndefined(); }); it('没写 / 认不出的值:普通执行工单,不把脏东西端下去', () => { expect(executionCardVariant(undefined, undefined)).toBeUndefined(); expect(executionCardVariant('', undefined)).toBeUndefined(); expect(executionCardVariant({ variant: 'accept' }, undefined)).toBeUndefined(); expect(executionCardVariant(42, undefined)).toBeUndefined(); }); });