diff --git a/internal/app/app.go b/internal/app/app.go index 8b42694..903582f 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -1118,11 +1118,11 @@ func validateGeneratedText(definition report.Definition, data []byte) (generated } func buildRenderContext(definition report.Definition, metadata briefing.Metadata, snapshot module.Snapshot, hourly generatedtext.Hourly) (any, error) { - switch definition.GeneratedTextSchemaID { + switch definition.TemplateID { case "hourly": return generatedtext.BuildHourlyRenderContext(metadata, snapshot, hourly) default: - return nil, fmt.Errorf("generated text schema %q is not supported for report %q", definition.GeneratedTextSchemaID, definition.ID) + return nil, fmt.Errorf("report template %q is not supported for report %q", definition.TemplateID, definition.ID) } } diff --git a/internal/app/app_test.go b/internal/app/app_test.go index f6254fe..51db283 100644 --- a/internal/app/app_test.go +++ b/internal/app/app_test.go @@ -799,7 +799,7 @@ func TestGenerateHourlyReportPreservesValidatedTextOnRenderContextFailure(t *tes } } -func TestGenerateHourlyReportPreservesRenderContextOnTemplateFailure(t *testing.T) { +func TestGenerateHourlyReportRejectsUnsupportedTemplateBeforeRenderContext(t *testing.T) { cfg, resolved, store, notifier, outputPath := hourlyGeneratedTextFixture(t) resolved.Definition.TemplateID = "missing-template" renderer := &recordingRenderer{ @@ -816,25 +816,18 @@ func TestGenerateHourlyReportPreservesRenderContextOnTemplateFailure(t *testing. Store: store, Notifier: notifier, }) - assertGeneratedReportError(t, err, resolved, "render template") + assertGeneratedReportError(t, err, resolved, "build render context") assertNoGeneratedFailureSideEffects(t, notifier, outputPath) paths := hourlyArtifactPaths(t, store, resolved) - assertPathsExist(t, paths.Preflight, paths.Metadata, paths.GeneratedTextRaw, paths.GeneratedTextResult, paths.GeneratedText, paths.RenderContext) - assertPathsMissing(t, paths.RenderedReport) - renderContext, readErr := os.ReadFile(paths.RenderContext) - if readErr != nil { - t.Fatalf("read render context: %v", readErr) - } - if !strings.Contains(string(renderContext), `"ReportTitle": "Hourly Report"`) { - t.Fatalf("render context was not preserved:\n%s", string(renderContext)) - } + assertPathsExist(t, paths.Preflight, paths.Metadata, paths.GeneratedTextRaw, paths.GeneratedTextResult, paths.GeneratedText) + assertPathsMissing(t, paths.RenderContext, paths.RenderedReport) metadataData, readErr := os.ReadFile(paths.Metadata) if readErr != nil { t.Fatalf("read metadata: %v", readErr) } - if !strings.Contains(string(metadataData), paths.RenderContext) { - t.Fatalf("metadata missing render context link:\n%s", string(metadataData)) + if !strings.Contains(string(metadataData), paths.GeneratedText) { + t.Fatalf("metadata missing generated text link:\n%s", string(metadataData)) } }