支持待确认事项逐条采纳

This commit is contained in:
czj
2026-06-25 13:51:41 +08:00
parent 714eb5aba6
commit b453800494
4 changed files with 183 additions and 12 deletions
@@ -0,0 +1,56 @@
import { describe, expect, it } from "vitest";
import type { CandidateFactCard } from "../../lib/domain/types";
import { resolveUncertainItem } from "../fact-card-editor";
const baseFactCard: CandidateFactCard = {
company_full_name: "示例科技有限公司",
company_short_names: ["示例科技"],
brand_names: ["示例品牌"],
product_names: ["GEO内容优化平台"],
target_industry: "GEO内容优化",
target_audience: "市场团队",
experience_years: 8,
core_claims: ["提供GEO内容优化服务"],
forbidden_claims: [],
image_topics: ["产品后台截图"],
uncertain_items: ["客户案例缺少来源", "出海能力需要确认"],
is_ready_for_optimization: false,
};
describe("FactCardEditor uncertain item resolution", () => {
it("adds a confirmed uncertain item to the selected fact field and removes it", () => {
const resolved = resolveUncertainItem(baseFactCard, 0, "core_claims");
expect(resolved.core_claims).toEqual([
"提供GEO内容优化服务",
"客户案例缺少来源",
]);
expect(resolved.uncertain_items).toEqual(["出海能力需要确认"]);
expect(resolved.is_ready_for_optimization).toBe(false);
});
it("marks the fact card ready after the final uncertain item is resolved", () => {
const resolved = resolveUncertainItem(
{
...baseFactCard,
uncertain_items: ["图片主题需要确认"],
},
0,
"image_topics",
);
expect(resolved.image_topics).toEqual(["产品后台截图", "图片主题需要确认"]);
expect(resolved.uncertain_items).toEqual([]);
expect(resolved.is_ready_for_optimization).toBe(true);
});
it("can ignore an uncertain item without adding it to fact fields", () => {
const resolved = resolveUncertainItem(baseFactCard, 0, "ignore");
expect(resolved.core_claims).toEqual(["提供GEO内容优化服务"]);
expect(resolved.forbidden_claims).toEqual([]);
expect(resolved.image_topics).toEqual(["产品后台截图"]);
expect(resolved.uncertain_items).toEqual(["出海能力需要确认"]);
});
});