(t *testing.T)
| 3074 | } |
| 3075 | |
| 3076 | func TestSkillsFromParts(t *testing.T) { |
| 3077 | t.Parallel() |
| 3078 | |
| 3079 | t.Run("Empty", func(t *testing.T) { |
| 3080 | t.Parallel() |
| 3081 | got := skillsFromParts(nil) |
| 3082 | require.Empty(t, got) |
| 3083 | }) |
| 3084 | |
| 3085 | t.Run("NoSkillParts", func(t *testing.T) { |
| 3086 | t.Parallel() |
| 3087 | msgs := []database.ChatMessage{ |
| 3088 | chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{ |
| 3089 | {Type: codersdk.ChatMessagePartTypeText, Text: "hello"}, |
| 3090 | }), |
| 3091 | } |
| 3092 | got := skillsFromParts(msgs) |
| 3093 | require.Empty(t, got) |
| 3094 | }) |
| 3095 | |
| 3096 | t.Run("SingleSkill", func(t *testing.T) { |
| 3097 | t.Parallel() |
| 3098 | msgs := []database.ChatMessage{ |
| 3099 | chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{ |
| 3100 | { |
| 3101 | Type: codersdk.ChatMessagePartTypeSkill, |
| 3102 | SkillName: "deep-review", |
| 3103 | SkillDescription: "Multi-reviewer code review", |
| 3104 | SkillDir: "/home/coder/.agents/skills/deep-review", |
| 3105 | }, |
| 3106 | }), |
| 3107 | } |
| 3108 | got := skillsFromParts(msgs) |
| 3109 | require.Len(t, got, 1) |
| 3110 | require.Equal(t, "deep-review", got[0].Name) |
| 3111 | require.Equal(t, "Multi-reviewer code review", got[0].Description) |
| 3112 | require.Equal(t, "/home/coder/.agents/skills/deep-review", got[0].Dir) |
| 3113 | }) |
| 3114 | |
| 3115 | t.Run("MultipleSkillsAcrossMessages", func(t *testing.T) { |
| 3116 | t.Parallel() |
| 3117 | msgs := []database.ChatMessage{ |
| 3118 | chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{ |
| 3119 | { |
| 3120 | Type: codersdk.ChatMessagePartTypeSkill, |
| 3121 | SkillName: "pull-requests", |
| 3122 | SkillDir: "/home/coder/.agents/skills/pull-requests", |
| 3123 | }, |
| 3124 | }), |
| 3125 | chattest.ChatMessageWithParts([]codersdk.ChatMessagePart{ |
| 3126 | { |
| 3127 | Type: codersdk.ChatMessagePartTypeSkill, |
| 3128 | SkillName: "deep-review", |
| 3129 | SkillDir: "/home/coder/.agents/skills/deep-review", |
| 3130 | }, |
| 3131 | }), |
| 3132 | } |
| 3133 | got := skillsFromParts(msgs) |
nothing calls this directly
no test coverage detected