on main help sign in
chore(tests): regression test for (lack of) disabled skills in the ui
a7546adChristian Rocha
internal/ui/model/skills_test.go+23
@@ -3,6 +3,7 @@ package model
3import (
3import (
4 "testing"
4 "testing"
5
5
6+ "github.com/charmbracelet/crush/internal/config"
6 "github.com/charmbracelet/crush/internal/skills"
7 "github.com/charmbracelet/crush/internal/skills"
7 "github.com/charmbracelet/crush/internal/ui/common"
8 "github.com/charmbracelet/crush/internal/ui/common"
8 uistyles "github.com/charmbracelet/crush/internal/ui/styles"
9 uistyles "github.com/charmbracelet/crush/internal/ui/styles"
@@ -56,3 +57,25 @@ func TestSkillStatusItemsIncludesBuiltinSkills(t *testing.T) {
56 }
57 }
57 require.True(t, hasBuiltin)
58 require.True(t, hasBuiltin)
58}
59}
60+
61+func TestSkillStatusItemsExcludesDisabledSkills(t *testing.T) {
62+ t.Parallel()
63+
64+ st := uistyles.DefaultStyles()
65+ ui := &UI{
66+ com: &common.Common{
67+ Styles: &st,
68+ Workspace: &testWorkspace{cfg: &config.Config{Options: &config.Options{DisabledSkills: []string{"go-doc", "crush-config"}}}},
69+ },
70+ skillStates: []*skills.SkillState{
71+ {Name: "go-doc", Path: "/tmp/go-doc/SKILL.md", State: skills.StateNormal},
72+ },
73+ }
74+
75+ items := ui.skillStatusItems()
76+
77+ for _, item := range items {
78+ require.NotEqual(t, "go-doc", item.name)
79+ require.NotEqual(t, "crush-config", item.name)
80+ }
81+}