fix
This commit is contained in:
@@ -65,11 +65,12 @@ func TestAppendDescriptionFormulaSystemOverride(t *testing.T) {
|
||||
EnhanceUserTemplate: "Name: {{name}}",
|
||||
DescriptionTemplate: desc,
|
||||
})
|
||||
if !strings.Contains(user, "Description formula") {
|
||||
t.Fatalf("missing user formula: %s", user)
|
||||
// Structured description_template uses A1 GPT-predloga path (legacy generator.php).
|
||||
if !strings.Contains(user, "GPT predloga:") || !strings.Contains(user, "<H1>{Heading}</H1>") {
|
||||
t.Fatalf("missing A1 description predloga: %s", user)
|
||||
}
|
||||
if !strings.Contains(sys, "Description formula") || !strings.Contains(sys, "1-2 sentences") {
|
||||
t.Fatalf("system should keep company text and append formula override: %s", sys)
|
||||
if !strings.Contains(sys, "Si tekstopisec") {
|
||||
t.Fatalf("system should be A1 copywriter when formula set: %s", sys)
|
||||
}
|
||||
if AppendDescriptionFormulaSystemOverride("plain", nil) != "plain" {
|
||||
t.Fatal("empty formula must be no-op")
|
||||
@@ -90,16 +91,22 @@ func TestAppendTitleFormulaSystemOverride(t *testing.T) {
|
||||
EnhanceUserTemplate: "Name: {{name}}",
|
||||
TitleTemplate: title,
|
||||
})
|
||||
if !strings.Contains(user, "Title formula") || !strings.Contains(user, "attr [brand]") {
|
||||
t.Fatalf("missing user title formula: %s", user)
|
||||
if !strings.Contains(user, "GPT predloga:") || !strings.Contains(user, "<name>{") {
|
||||
t.Fatalf("missing A1 title predloga: %s", user)
|
||||
}
|
||||
if !strings.Contains(sys, `When the user message includes a "Title formula"`) || !strings.Contains(sys, "short retail title") {
|
||||
t.Fatalf("system should keep company text and append title override: %s", sys)
|
||||
if !strings.Contains(user, "brand") {
|
||||
t.Fatalf("missing brand in title formula: %s", user)
|
||||
}
|
||||
if !strings.Contains(sys, "Si tekstopisec") {
|
||||
t.Fatalf("system should be A1 copywriter when title formula set: %s", sys)
|
||||
}
|
||||
if AppendTitleFormulaSystemOverride("plain", nil) != "plain" {
|
||||
t.Fatal("empty title formula must be no-op")
|
||||
}
|
||||
dup := AppendTitleFormulaSystemOverride(sys, title)
|
||||
// Direct override helper stays idempotent for soft path.
|
||||
soft := "Retail product copywriter.\n- name: short retail title"
|
||||
with := AppendTitleFormulaSystemOverride(soft, title)
|
||||
dup := AppendTitleFormulaSystemOverride(with, title)
|
||||
if strings.Count(dup, `When the user message includes a "Title formula"`) != 1 {
|
||||
t.Fatalf("title override must be idempotent: %s", dup)
|
||||
}
|
||||
@@ -239,24 +246,24 @@ func TestAppendFormulaConstraints_injectedIntoResolve(t *testing.T) {
|
||||
TitleTemplate: title,
|
||||
DescriptionTemplate: desc,
|
||||
})
|
||||
if !strings.Contains(user, "Name: {{name}}") {
|
||||
t.Fatalf("lost base template: %s", user)
|
||||
if !strings.Contains(user, "GPT predloga:") {
|
||||
t.Fatalf("expected A1 GPT predloga: %s", user)
|
||||
}
|
||||
if !strings.Contains(user, "Title formula") || !strings.Contains(user, "attr [brand]") {
|
||||
t.Fatalf("missing title formula: %s", user)
|
||||
if !strings.Contains(user, "<name>{") || !strings.Contains(user, "brand") {
|
||||
t.Fatalf("missing title formula in predloga: %s", user)
|
||||
}
|
||||
if !strings.Contains(user, "Description formula") || !strings.Contains(user, "- p: Factual summary") {
|
||||
t.Fatalf("missing description formula: %s", user)
|
||||
if !strings.Contains(user, "<p>{Factual summary}</p>") {
|
||||
t.Fatalf("missing description formula HTML: %s", user)
|
||||
}
|
||||
if !strings.Contains(user, "SEO meta formula") || !strings.Contains(user, "meta_title (50-60 chars)") {
|
||||
t.Fatalf("missing SEO meta formula: %s", user)
|
||||
if !strings.Contains(user, "<metaDescription>{") || !strings.Contains(user, "120-155") {
|
||||
t.Fatalf("missing SEO meta in predloga: %s", user)
|
||||
}
|
||||
if !strings.Contains(sys, "SEO meta formula") {
|
||||
t.Fatalf("system missing meta override: %s", sys)
|
||||
if !strings.Contains(sys, "Si tekstopisec") {
|
||||
t.Fatalf("system missing A1 copywriter: %s", sys)
|
||||
}
|
||||
// Render substitutes {{language}} in formula blocks.
|
||||
_, rendered := RenderProductEnhancePrompts(
|
||||
"Write in {{language}}.", user,
|
||||
sys, user,
|
||||
"50", "Old Name", "", "", "", "sl",
|
||||
map[string]any{"brand": "Vox", "product_model": "EHT6020"},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user