38 lines
899 B
Go
38 lines
899 B
Go
package knowledge
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"laodingbot/internal/memory"
|
|
)
|
|
|
|
func TestGenerateSkillDraftCreatesFile(t *testing.T) {
|
|
draftDir := filepath.Join(t.TempDir(), "drafts")
|
|
cluster := memory.CapabilityGapCluster{
|
|
IntentKey: "query files in workspace",
|
|
SampleIntent: "帮我查询 workspace 目录下的 markdown 文件",
|
|
Reason: "no_skill_matched",
|
|
Count: 4,
|
|
}
|
|
|
|
path, created, err := GenerateSkillDraft(cluster, draftDir)
|
|
if err != nil {
|
|
t.Fatalf("GenerateSkillDraft error: %v", err)
|
|
}
|
|
if !created {
|
|
t.Fatalf("expected created=true")
|
|
}
|
|
if filepath.Base(path) != "skill.md" {
|
|
t.Fatalf("expected skill.md path, got %s", path)
|
|
}
|
|
|
|
_, created2, err := GenerateSkillDraft(cluster, draftDir)
|
|
if err != nil {
|
|
t.Fatalf("GenerateSkillDraft second call error: %v", err)
|
|
}
|
|
if created2 {
|
|
t.Fatalf("expected created=false on second call")
|
|
}
|
|
}
|