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") } }