Files
Agent-System/internal/squad/squad_projection_test.go
T
weichen 3d6dcc3ae5 feat(web): 用小队子页面展示思考与工具过程
气泡只聚合过程摘要并链到 hash 子页面;成员编制来自只读 squad 端点,思考与工具默认折叠。
2026-09-28 10:30:53 +00:00

39 lines
1.0 KiB
Go

package squad
import (
"os"
"path/filepath"
"testing"
)
func TestReadSquadProjection(t *testing.T) {
dir := t.TempDir()
squadJSON := `{
"squad_name": "立项小队",
"version": "1",
"agents": [
{"role": "regulatory", "name": "法规专员", "source": "standard", "responsibilities": ["筛法规"]}
]
}`
if err := os.WriteFile(filepath.Join(dir, "squad.json"), []byte(squadJSON), 0o644); err != nil {
t.Fatal(err)
}
ws := `{"task_key":"intake","stage_title":"用户需求收集"}`
if err := os.WriteFile(filepath.Join(dir, "workspace.json"), []byte(ws), 0o644); err != nil {
t.Fatal(err)
}
got, err := ReadSquadProjection(dir)
if err != nil {
t.Fatal(err)
}
if got.TaskKey != "intake" || got.Title != "用户需求收集" {
t.Fatalf("meta: %+v", got)
}
if len(got.Members) != 1 || got.Members[0].Role != "regulatory" || got.Members[0].Name != "法规专员" {
t.Fatalf("members: %+v", got.Members)
}
if _, err := ReadSquadProjection(t.TempDir()); err == nil {
t.Fatal("missing squad.json must error")
}
}