package app import "testing" func TestBuildFullPlanOrder(t *testing.T) { got := BuildFullPlan() want := []string{"prepare", "transcribe", "merge", "polish", "normalize", "trim", "extract", "render", "analyze", "publish", "notify"} if len(got) != len(want) { t.Fatalf("len(plan) = %d, want %d", len(got), len(want)) } for i := range want { if got[i].Name() != want[i] { t.Fatalf("plan[%d] = %q, want %q", i, got[i].Name(), want[i]) } } } func TestBuildSingleStagePlan(t *testing.T) { stages, err := BuildSingleStagePlan("polish") if err != nil { t.Fatalf("BuildSingleStagePlan() error = %v", err) } if len(stages) != 1 { t.Fatalf("len(plan) = %d, want 1", len(stages)) } if stages[0].Name() != "polish" { t.Fatalf("stage name = %q, want %q", stages[0].Name(), "polish") } } func TestBuildSingleStagePlanUnknown(t *testing.T) { _, err := BuildSingleStagePlan("unknown") if err == nil { t.Fatal("expected error for unknown stage, got nil") } }