package messages import ( "strings" "testing" "ai-operator/internal/dialogue/state" ) func TestCatalog(t *testing.T) { if got := Get("greeting.initial", state.LanguageUnknown); !strings.Contains(got, "Жанна") || !strings.Contains(got, "QazAimaqGas") || strings.Contains(strings.ToLower(got), "выберите язык") { t.Fatalf("missing natural greeting: %q", got) } if got := Get("greeting.initial", state.LanguageKK); !strings.Contains(got, "Жанна") || !strings.Contains(got, "QazAimaqGas") || !strings.Contains(got, "Қалай көмектесе аламын") { t.Fatalf("missing kk natural greeting: %q", got) } if got := Get("region.ask", state.LanguageRU); got == "" || got == "region.ask" { t.Fatal("missing ru region prompt") } if got := Get("region.ask", state.LanguageKK); got == "" || got == "region.ask" { t.Fatal("missing kk region prompt") } if got := Get("unknown.key", state.LanguageRU); got != "unknown.key" { t.Fatal("unknown fallback failed") } } func TestLanguageSelectionMessages(t *testing.T) { keys := []string{"language.ask", "language.ask_clarify", "language.selected.ru", "language.selected.kk", "language.changed.ru", "language.changed.kk", "language.unsupported"} for _, key := range keys { if got := Get(key, state.LanguageRU); got == "" || got == key { t.Fatalf("missing %s ru", key) } } }