测试:失败终态用例断言映射后的文案不落会话列表

断言原来查的是命令 Err 的原始文本,而这条文本永远不会被渲染(前端先用 projectRuntimeVisibleError 映射成通用可见文案,再走头部状态行的横幅),因此断言空过、盖不住"命令通道又写一条聊天文案"这个回归。
改成在 `陶泥儿消息` 列表里查映射后的文案(横幅不在这个列表里),并用一次变异验证:在 catch 里补一条 appendLocalMessage 后该用例变红,撤掉即绿。
This commit is contained in:
2026-09-24 13:02:41 +08:00
parent cf79ac31f7
commit 286d919129
@@ -598,10 +598,13 @@ export function registerChatComposerControlTests() {
expect(
within(surface).getByRole('button', { name: '发送' }),
).not.toBeNull();
// 命令返回那条通道只负责横幅:它不写第二条聊天文案。
// 命令返回那条通道只负责横幅:它不写第二条聊天文案。真失败时 `runTurn` 会先把原始错误
// 映射成通用可见文案再走横幅(横幅在头部的状态行,不在会话列表里),所以这里查映射后的
// 文案有没有出现在会话列表里,而不是那条永远不会被渲染的原始错误文本。
const conversation = within(surface).getByLabelText('陶泥儿消息');
expect(
within(surface).queryAllByText(
'模拟宿主失败:错误只走终态事件,命令只回报失败',
within(conversation).queryAllByText(
'陶泥儿智能创作 执行失败,请稍后重试',
),
).toHaveLength(0);
});