diff options
Diffstat (limited to 'internal/slashcommands')
| -rw-r--r-- | internal/slashcommands/syncer.go | 3 | ||||
| -rw-r--r-- | internal/slashcommands/syncer_test.go | 22 |
2 files changed, 13 insertions, 12 deletions
diff --git a/internal/slashcommands/syncer.go b/internal/slashcommands/syncer.go index 1268e7b..674b974 100644 --- a/internal/slashcommands/syncer.go +++ b/internal/slashcommands/syncer.go @@ -30,7 +30,8 @@ type Syncer struct { // NewSyncer creates a new syncer and validates the commands directory. // Returns error if directory cannot be created or is not writable. -func NewSyncer(cfg appconfig.App) (*Syncer, error) { +// It depends only on the MCP subsystem config rather than the whole App. +func NewSyncer(cfg appconfig.MCPConfig) (*Syncer, error) { if !cfg.MCPSlashCommandSync { return &Syncer{enabled: false}, nil } diff --git a/internal/slashcommands/syncer_test.go b/internal/slashcommands/syncer_test.go index 01c6d28..b7ffe47 100644 --- a/internal/slashcommands/syncer_test.go +++ b/internal/slashcommands/syncer_test.go @@ -13,10 +13,10 @@ import ( func TestNewSyncer_Disabled(t *testing.T) { cfg := appconfig.App{ - FeatureConfig: appconfig.FeatureConfig{MCPSlashCommandSync: false}, + FeatureConfig: appconfig.FeatureConfig{MCPConfig: appconfig.MCPConfig{MCPSlashCommandSync: false}}, } - syncer, err := NewSyncer(cfg) + syncer, err := NewSyncer(cfg.MCPSection()) if err != nil { t.Fatalf("NewSyncer() with disabled sync failed: %v", err) } @@ -28,13 +28,13 @@ func TestNewSyncer_Disabled(t *testing.T) { func TestNewSyncer_NoDirectory(t *testing.T) { cfg := appconfig.App{ - FeatureConfig: appconfig.FeatureConfig{ + FeatureConfig: appconfig.FeatureConfig{MCPConfig: appconfig.MCPConfig{ MCPSlashCommandSync: true, MCPSlashCommandDir: "", - }, + }}, } - _, err := NewSyncer(cfg) + _, err := NewSyncer(cfg.MCPSection()) if err == nil { t.Error("NewSyncer() should fail when directory is not configured") } @@ -45,13 +45,13 @@ func TestNewSyncer_CreatesDirectory(t *testing.T) { testDir := filepath.Join(tmpDir, "test-commands") cfg := appconfig.App{ - FeatureConfig: appconfig.FeatureConfig{ + FeatureConfig: appconfig.FeatureConfig{MCPConfig: appconfig.MCPConfig{ MCPSlashCommandSync: true, MCPSlashCommandDir: testDir, - }, + }}, } - syncer, err := NewSyncer(cfg) + syncer, err := NewSyncer(cfg.MCPSection()) if err != nil { t.Fatalf("NewSyncer() failed: %v", err) } @@ -75,13 +75,13 @@ func TestNewSyncer_ExpandsHomeDirectory(t *testing.T) { defer os.Setenv("HOME", home) cfg := appconfig.App{ - FeatureConfig: appconfig.FeatureConfig{ + FeatureConfig: appconfig.FeatureConfig{MCPConfig: appconfig.MCPConfig{ MCPSlashCommandSync: true, MCPSlashCommandDir: "~/test-commands", - }, + }}, } - syncer, err := NewSyncer(cfg) + syncer, err := NewSyncer(cfg.MCPSection()) if err != nil { t.Fatalf("NewSyncer() failed: %v", err) } |
