package processing import ( "testing" "github.com/descrybe/descrybe-v2/apps/api/internal/company" ) func TestResolveProductPromptTemplates_categoryOverridesUser(t *testing.T) { t.Parallel() sys, user := resolveProductPromptTemplates(ProductInput{ EnhanceSystemTemplate: "sys {{brand_voice}}", EnhanceUserTemplate: "company user", CategoryEnhancePrompt: "category user {{description}}", }) if sys != "sys {{brand_voice}}" { t.Fatalf("system=%q", sys) } if user != "category user {{description}}" { t.Fatalf("user=%q want category override", user) } } func TestResolveProductPromptTemplates_fallsBackToCompany(t *testing.T) { t.Parallel() _, user := resolveProductPromptTemplates(ProductInput{ EnhanceUserTemplate: "company user {{name}}", }) if user != "company user {{name}}" { t.Fatalf("user=%q", user) } } func TestCategoryEnhancePromptFor(t *testing.T) { t.Parallel() m := map[string]company.LangPromptMap{ "monitorji": {"sl": "prompt-a", "en": "prompt-a-en"}, "televizorji": {"sl": "prompt-b"}, } if got := categoryEnhancePromptFor(m, " Monitorji ", "sl"); got != "prompt-a" { t.Fatalf("got %q", got) } if got := categoryEnhancePromptFor(m, " Monitorji ", "en"); got != "prompt-a-en" { t.Fatalf("got %q", got) } if got := categoryEnhancePromptFor(m, "missing", "sl"); got != "" { t.Fatalf("expected empty, got %q", got) } if got := categoryEnhancePromptFor(m, "televizorji", "en"); got != "" { t.Fatalf("expected empty fallback, got %q", got) } }