新增普通文案优化数据校验
This commit is contained in:
@@ -4,6 +4,8 @@ import {
|
||||
articleInputSchema,
|
||||
confirmedFactCardSchema,
|
||||
candidateFactCardSchema,
|
||||
copyOptimizationRequestSchema,
|
||||
copyOptimizationResultSchema,
|
||||
optimizationFactCardSchema,
|
||||
optimizedArticleSchema,
|
||||
qaReportSchema,
|
||||
@@ -51,6 +53,59 @@ describe("domain validation", () => {
|
||||
).toThrow();
|
||||
});
|
||||
|
||||
it("accepts a trimmed copy optimization request", () => {
|
||||
const parsed = copyOptimizationRequestSchema.parse({
|
||||
source_text: " 我写了一段有点卡的文案 ",
|
||||
goal: "",
|
||||
intensity: "light",
|
||||
user_instructions: " 保留口语感 ",
|
||||
});
|
||||
|
||||
expect(parsed).toEqual({
|
||||
source_text: "我写了一段有点卡的文案",
|
||||
goal: "保留原意,减少 AI 味",
|
||||
intensity: "light",
|
||||
user_instructions: "保留口语感",
|
||||
});
|
||||
});
|
||||
|
||||
it("rejects empty copy optimization source text", () => {
|
||||
expect(() =>
|
||||
copyOptimizationRequestSchema.parse({
|
||||
source_text: " ",
|
||||
intensity: "light",
|
||||
}),
|
||||
).toThrow();
|
||||
});
|
||||
|
||||
it("accepts structured copy optimization results", () => {
|
||||
const parsed = copyOptimizationResultSchema.parse({
|
||||
optimized_text: "我把句子顺了一下。",
|
||||
change_notes: [
|
||||
{
|
||||
original: "我把句子顺顺。",
|
||||
revised: "我把句子顺了一下。",
|
||||
reason: "修正口语里不顺的重复。",
|
||||
confidence: "confident",
|
||||
revertible: false,
|
||||
},
|
||||
],
|
||||
ai_taste_checks: [
|
||||
{
|
||||
rule_id: "promotion_tone",
|
||||
status: "pass",
|
||||
evidence: "没有新增宣传词。",
|
||||
suggestion: "",
|
||||
},
|
||||
],
|
||||
warnings: [],
|
||||
});
|
||||
|
||||
expect(parsed.optimized_text).toBe("我把句子顺了一下。");
|
||||
expect(parsed.change_notes[0]?.confidence).toBe("confident");
|
||||
expect(parsed.ai_taste_checks[0]?.rule_id).toBe("promotion_tone");
|
||||
});
|
||||
|
||||
it("accepts an unconfirmed optimization fact card with unresolved items", () => {
|
||||
const parsed = optimizationFactCardSchema.parse({
|
||||
company_full_name: "",
|
||||
|
||||
Reference in New Issue
Block a user