Files
descrybe/apps/api/internal/processing/prompt_fallback_test.go
T
greeneclipse 8580c996c3 Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
2026-08-09 22:47:43 +02:00

40 lines
1.1 KiB
Go

package processing
import (
"testing"
"github.com/descrybe/descrybe-v2/apps/api/internal/company"
)
func TestResolvePromptFallbackChain(t *testing.T) {
t.Parallel()
// Category override for language wins over company user template.
sys, user := resolveProductPromptTemplates(ProductInput{
EnhanceSystemTemplate: "sys",
EnhanceUserTemplate: "company-en",
CategoryEnhancePrompt: "cat-sl",
Language: "sl",
})
if sys != "sys" || user != "cat-sl" {
t.Fatalf("sys=%q user=%q", sys, user)
}
// Empty category → company template.
_, user = resolveProductPromptTemplates(ProductInput{
EnhanceUserTemplate: "company-de",
Language: "de",
})
if user != "company-de" {
t.Fatalf("user=%q", user)
}
// categoryEnhancePromptFor: lang-specific only (no cross-lang fallback).
m := map[string]company.LangPromptMap{"audio": {"sl": "slo-prompt"}}
if got := categoryEnhancePromptFor(m, "audio", "sl"); got != "slo-prompt" {
t.Fatalf("got %q", got)
}
if got := categoryEnhancePromptFor(m, "audio", "en"); got != "" {
t.Fatalf("cross-lang should be empty, got %q", got)
}
}