MCPcopy Create free account
hub / github.com/github/gh-aw / TestGetAvailableWorkflowNames

Function TestGetAvailableWorkflowNames

pkg/cli/workflow_suggestions_test.go:118–182  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

116}
117
118func TestGetAvailableWorkflowNames(t *testing.T) {
119 // Create temporary test directory
120 tmpDir, err := os.MkdirTemp("", "test-workflows")
121 if err != nil {
122 t.Fatalf("Failed to create temp dir: %v", err)
123 }
124 defer os.RemoveAll(tmpDir)
125
126 // Change to temp directory
127 originalDir, err := os.Getwd()
128 if err != nil {
129 t.Fatalf("Failed to get working directory: %v", err)
130 }
131 defer os.Chdir(originalDir)
132
133 if err := os.Chdir(tmpDir); err != nil {
134 t.Fatalf("Failed to change to temp directory: %v", err)
135 }
136
137 // Create .github/workflows directory
138 workflowsDir := filepath.Join(tmpDir, ".github", "workflows")
139 if err := os.MkdirAll(workflowsDir, 0755); err != nil {
140 t.Fatalf("Failed to create workflows directory: %v", err)
141 }
142
143 // Create test workflow files
144 testWorkflows := []string{
145 "test-workflow-1.md",
146 "test-workflow-2.md",
147 "another-workflow.md",
148 }
149
150 for _, workflow := range testWorkflows {
151 path := filepath.Join(workflowsDir, workflow)
152 if err := os.WriteFile(path, []byte("# Test workflow\n"), 0644); err != nil {
153 t.Fatalf("Failed to create workflow file %s: %v", workflow, err)
154 }
155 }
156
157 // Get available workflow names
158 names := getAvailableWorkflowNames()
159
160 // Verify we got the expected count
161 if len(names) != len(testWorkflows) {
162 t.Errorf("Expected %d workflow names, got %d: %v", len(testWorkflows), len(names), names)
163 }
164
165 // Verify all expected names are present (without .md extension)
166 expectedNames := map[string]bool{
167 "test-workflow-1": true,
168 "test-workflow-2": true,
169 "another-workflow": true,
170 }
171
172 for _, name := range names {
173 if !expectedNames[name] {
174 t.Errorf("Unexpected workflow name: %s", name)
175 }

Callers

nothing calls this directly

Calls 2

ErrorfMethod · 0.45

Tested by

no test coverage detected