package workflows import ( "context" "errors" "testing" ) func TestStubRunnerDiagnoseReturnsTypedNotImplemented(t *testing.T) { runner := NewStubRunner() _, err := runner.DiagnoseJobSeeker(context.Background(), DiagnosticInput{ UserID: "user-1", Track: "backend-developer", TargetRole: "junior-backend-developer", }) if !errors.Is(err, ErrNotImplemented) { t.Fatalf("err = %v, want %v", err, ErrNotImplemented) } } func TestStubRunnerGradesAnswer(t *testing.T) { runner := NewStubRunner() grade, err := runner.GradeInterviewAnswer(context.Background(), GradeAnswerInput{ QuestionID: "q-1", AnswerID: "a-1", AnswerText: "Indexes can speed reads by helping the database find rows, but they add write overhead.", Concepts: []ConceptRef{ {ID: "database-indexes", Label: "Database indexes", Track: "backend-developer"}, }, }) if err != nil { t.Fatalf("GradeInterviewAnswer error: %v", err) } if grade.AnswerID != "a-1" { t.Fatalf("AnswerID = %q", grade.AnswerID) } if len(grade.Concepts) != 1 { t.Fatalf("concepts = %d, want 1", len(grade.Concepts)) } if len(grade.Evidence) != 1 { t.Fatalf("evidence = %d, want 1", len(grade.Evidence)) } }