Files
descrybe/apps/api/internal/processing/prompt_render_test.go
T

53 lines
1.5 KiB
Go
Raw Normal View History

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)
}
}