sync: migrate ai-operator to Gitea (2026-08-10)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package prompt
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"ai-operator/internal/dialogue/state"
|
||||
)
|
||||
|
||||
func TestPromptBuilder(t *testing.T) {
|
||||
p := BuildSystemPromptFragment(PromptContext{State: state.StateLanguageSelection})
|
||||
if !strings.Contains(p, "Zhanna") || !strings.Contains(p, "Do not use IVR-style") {
|
||||
t.Fatalf("bad language prompt: %s", p)
|
||||
}
|
||||
p = BuildSystemPromptFragment(PromptContext{State: state.StateRegionSelection})
|
||||
if !strings.Contains(p, "Ask for city or oblast naturally") {
|
||||
t.Fatalf("bad region prompt: %s", p)
|
||||
}
|
||||
p = BuildSystemPromptFragment(PromptContext{State: state.StateReadyToHelp, Language: state.LanguageRU, RegionCode: "almaty_city"})
|
||||
if !strings.Contains(p, "almaty_city") || strings.Contains(p, "SECRET") {
|
||||
t.Fatalf("bad ready prompt: %s", p)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLanguageSelectionPromptGuardrails(t *testing.T) {
|
||||
p := BuildSystemPromptFragment(PromptContext{State: state.StateLanguageSelection})
|
||||
for _, want := range []string{"Zhanna", "QazAimaqGas", "Infer language from speech", "General questions may use global KB"} {
|
||||
if !strings.Contains(p, want) {
|
||||
t.Fatalf("prompt missing %q: %s", want, p)
|
||||
}
|
||||
}
|
||||
p = BuildSystemPromptFragment(PromptContext{State: state.StateReadyToHelp, Language: state.LanguageRU, RegionCode: "almaty_city"})
|
||||
if !strings.Contains(p, "For regional branch/address/contact questions") {
|
||||
t.Fatalf("ready prompt missing regional guardrail: %s", p)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user