package atlas_test import ( "reflect" "testing" "git.d-ma.be/mathias/cad-atlas/internal/atlas" ) func TestJobsFromWorkflow_ReturnsJobNamesInDocumentOrder(t *testing.T) { workflow := []byte(` name: CD "on": push: branches: [main] jobs: guard: runs-on: self-hosted check: needs: guard runs-on: self-hosted build: needs: [guard, check] runs-on: self-hosted deploy: needs: [guard, build] runs-on: self-hosted `) jobs, err := atlas.JobsFromWorkflow(workflow) if err != nil { t.Fatalf("JobsFromWorkflow: %v", err) } want := []string{"guard", "check", "build", "deploy"} if !reflect.DeepEqual(jobs, want) { t.Fatalf("jobs = %v, want %v", jobs, want) } } func TestJobsFromWorkflow_ErrorsOnMalformedYAML(t *testing.T) { if _, err := atlas.JobsFromWorkflow([]byte("jobs: [this is: not valid")); err == nil { t.Fatal("expected error on malformed YAML, got nil") } }