chore(tests): regression test for (lack of) disabled skills in the ui

Christian Rocha created

Change summary

internal/ui/model/skills_test.go | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Detailed changes

internal/ui/model/skills_test.go 🔗

@@ -3,6 +3,7 @@ package model
 import (
 	"testing"
 
+	"github.com/charmbracelet/crush/internal/config"
 	"github.com/charmbracelet/crush/internal/skills"
 	"github.com/charmbracelet/crush/internal/ui/common"
 	uistyles "github.com/charmbracelet/crush/internal/ui/styles"
@@ -56,3 +57,25 @@ func TestSkillStatusItemsIncludesBuiltinSkills(t *testing.T) {
 	}
 	require.True(t, hasBuiltin)
 }
+
+func TestSkillStatusItemsExcludesDisabledSkills(t *testing.T) {
+	t.Parallel()
+
+	st := uistyles.DefaultStyles()
+	ui := &UI{
+		com: &common.Common{
+			Styles:    &st,
+			Workspace: &testWorkspace{cfg: &config.Config{Options: &config.Options{DisabledSkills: []string{"go-doc", "crush-config"}}}},
+		},
+		skillStates: []*skills.SkillState{
+			{Name: "go-doc", Path: "/tmp/go-doc/SKILL.md", State: skills.StateNormal},
+		},
+	}
+
+	items := ui.skillStatusItems()
+
+	for _, item := range items {
+		require.NotEqual(t, "go-doc", item.name)
+		require.NotEqual(t, "crush-config", item.name)
+	}
+}