muse-agent-example/web/tests/交互/审校报告呈现.test.tsx
zizi ae02fd1732 前端:工作台页面、事件标签与旅程用例
- 上下文清单、任务列表与详情、恢复控制、运行观察、创作对话与消息流、正式变更决策面板、正文写作与候选审阅、资料研究等页面同步本轮后端能力。
- 事件标签表补齐后端事件类型;查询键与生成客户端随 HTTP 契约重新生成。
- 依赖调整后 lockfile 同步;交互用例与浏览器旅程 spec 一并更新。
- 证据:make 前端检查(lint + typecheck + Pi 工具桥 tsc)exit 0;make 前端测试 37 文件 / 120 用例通过。
2026-09-18 01:15:07 +08:00

69 lines
3.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { render, screen } from "@testing-library/react";
import { describe, expect, it } from "vitest";
import { Ui文学报告, Ui诊断报告 } from "../../src/功能/审校修订/问题清单";
import type { 文学结果, 诊断结果 } from "../../src/功能/审校修订/数据";
describe("审校报告的覆盖、过期与修留问", () => {
// @muse-case {"case_id":"NC-review-report-partial","environment":"离线组件","given":"NC-review-report-partial:未审与零问题分开显示","when":"作者页面操作","then":["NC-review-report-partial:未审与零问题分开显示"],"contract":"docs/系统架构/新版设计/模块设计/B06-审校修订.md"}
it("NC-review-report-partial:未审与零问题分开显示", () => {
const result: 文学结果 = {
task_id: "t",
task_state: "failed",
report_id: null,
current_status: "SOURCE_STALE",
stale_reasons: ["正文已更新"],
report: {
findings: [],
dimension_status: {
continuity: "partial",
craft: "insufficient_evidence",
voice: "uncalibrated",
},
unreviewed_shards: ["tail"],
counts: {},
coverage: { 范围完整: false, 未审区间: [[10, 20]] },
model_verified: false,
},
};
render(<Ui文学报告 value={result} />);
expect(screen.getByText(/尚有 1 片未审/)).toBeTruthy();
expect(screen.getByText(/声音:未标定/)).toBeTruthy();
expect(screen.getByText(/创作质量:依据不足/)).toBeTruthy();
expect(screen.getByRole("alert").textContent).toContain("正文已更新");
expect(screen.queryByText("完整文学报告")).toBeNull();
});
// @muse-case {"case_id":"NC-review-diagnosis-retain","environment":"离线组件","given":"NC-review-diagnosis-retain:候选预览及有意表达不显示强改","when":"作者页面操作","then":["NC-review-diagnosis-retain:候选预览及有意表达不显示强改"],"contract":"docs/系统架构/新版设计/模块设计/B06-审校修订.md"}
it("NC-review-diagnosis-retain:候选预览及有意表达不显示强改", () => {
const result: 诊断结果 = {
diagnosis_id: "d",
report: {
mode: "candidate_preview",
findings: [
{
start: 20,
end: 25,
quote: "值得注意的是",
decision_proposal: "retain",
},
],
executed_rules: ["l002"],
unreviewed_rules: [{ rule_id: "sem001", reason: "未审" }],
text_hash: "a",
calibration: "uncalibrated",
target: {
work_id: "w",
chapter_id: "c",
revision: 2,
document_hash: "a",
branch_id: "main",
},
},
};
render(<Ui诊断报告 value={result} />);
expect(screen.getByText(/候选规则预览 · 未标定/)).toBeTruthy();
expect(screen.getByText("保留")).toBeTruthy();
expect(screen.queryByText("建议修改")).toBeNull();
expect(screen.getByText(/语义规则未审 1 条/)).toBeTruthy();
});
});