(t *testing.T)
| 116 | } |
| 117 | |
| 118 | func 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 | } |
nothing calls this directly
no test coverage detected