41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package template_test
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"chat-agent-system/internal/template"
|
|
)
|
|
|
|
func TestLoadDocTemplatesAndAgents(t *testing.T) {
|
|
tmpl, err := template.GetDocTemplate("intake")
|
|
if err != nil {
|
|
t.Fatalf("failed to load intake template: %v", err)
|
|
}
|
|
if !strings.Contains(tmpl, "用户初始需求收集表") {
|
|
t.Errorf("template intake.md missing title header")
|
|
}
|
|
if !strings.Contains(tmpl, "写满四段式") {
|
|
t.Errorf("template intake.md missing self-describing guidance '写满四段式'")
|
|
}
|
|
|
|
inst, err := template.GetAgentInstruction("leader")
|
|
if err != nil {
|
|
t.Fatalf("failed to load leader agent instructions: %v", err)
|
|
}
|
|
if !strings.Contains(inst, "商务对接负责人") {
|
|
t.Errorf("leader.md missing expected role definition")
|
|
}
|
|
|
|
rendered := template.RenderDoc(tmpl, map[string]string{
|
|
"project_name": "测试手术机器人",
|
|
"customer_name": "水木医疗",
|
|
})
|
|
if !strings.Contains(rendered, "测试手术机器人") {
|
|
t.Errorf("render failed to replace project_name")
|
|
}
|
|
if !strings.Contains(rendered, "水木医疗") {
|
|
t.Errorf("render failed to replace customer_name")
|
|
}
|
|
}
|