接续 88dd570,保存 W20–W24 已实现的共享接口、业务入口、迁移、工作台、测试与文档。 W20/W22/W23 保持 in_progress,W21/W24 保持 verified;此提交不宣称方法或规则正式启用、多轮返修、真实角色评测完成。 W25 新增实验、标定、逐调用交付与角色执行及其迁移/测试/索引留在实施工作树,原有私人和旧实现保留项不纳入。 验证:离线 571、前端 33 通过;PG 469 项通过、2 项浏览器未启用,2 项误带入的 W25 用例已移出本提交;最终任务与交付边界 37 项通过。make 检查、最终类型、84 项资源及 diff 检查通过。未重跑浏览器或 Pi 宿主,不以合成调用认证外部模型效果。 独立整体审查四维通过;证据保存在 R2-20260909/提交W20-W24。
67 lines
2.4 KiB
TypeScript
67 lines
2.4 KiB
TypeScript
import { render, screen } from "@testing-library/react";
|
||
import { describe, expect, it } from "vitest";
|
||
import { Ui文学报告, Ui诊断报告 } from "../../src/功能/审校修订/问题清单";
|
||
import type { 文学结果, 诊断结果 } from "../../src/功能/审校修订/数据";
|
||
|
||
describe("审校报告的覆盖、过期与修留问", () => {
|
||
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();
|
||
});
|
||
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();
|
||
});
|
||
});
|