Update buildRenderContext to use Definition.TemplateID instead of GeneratedTextSchemaID
This commit is contained in:
@@ -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) {
|
func buildRenderContext(definition report.Definition, metadata briefing.Metadata, snapshot module.Snapshot, hourly generatedtext.Hourly) (any, error) {
|
||||||
switch definition.GeneratedTextSchemaID {
|
switch definition.TemplateID {
|
||||||
case "hourly":
|
case "hourly":
|
||||||
return generatedtext.BuildHourlyRenderContext(metadata, snapshot, hourly)
|
return generatedtext.BuildHourlyRenderContext(metadata, snapshot, hourly)
|
||||||
default:
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
cfg, resolved, store, notifier, outputPath := hourlyGeneratedTextFixture(t)
|
||||||
resolved.Definition.TemplateID = "missing-template"
|
resolved.Definition.TemplateID = "missing-template"
|
||||||
renderer := &recordingRenderer{
|
renderer := &recordingRenderer{
|
||||||
@@ -816,25 +816,18 @@ func TestGenerateHourlyReportPreservesRenderContextOnTemplateFailure(t *testing.
|
|||||||
Store: store,
|
Store: store,
|
||||||
Notifier: notifier,
|
Notifier: notifier,
|
||||||
})
|
})
|
||||||
assertGeneratedReportError(t, err, resolved, "render template")
|
assertGeneratedReportError(t, err, resolved, "build render context")
|
||||||
assertNoGeneratedFailureSideEffects(t, notifier, outputPath)
|
assertNoGeneratedFailureSideEffects(t, notifier, outputPath)
|
||||||
|
|
||||||
paths := hourlyArtifactPaths(t, store, resolved)
|
paths := hourlyArtifactPaths(t, store, resolved)
|
||||||
assertPathsExist(t, paths.Preflight, paths.Metadata, paths.GeneratedTextRaw, paths.GeneratedTextResult, paths.GeneratedText, paths.RenderContext)
|
assertPathsExist(t, paths.Preflight, paths.Metadata, paths.GeneratedTextRaw, paths.GeneratedTextResult, paths.GeneratedText)
|
||||||
assertPathsMissing(t, paths.RenderedReport)
|
assertPathsMissing(t, paths.RenderContext, 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))
|
|
||||||
}
|
|
||||||
metadataData, readErr := os.ReadFile(paths.Metadata)
|
metadataData, readErr := os.ReadFile(paths.Metadata)
|
||||||
if readErr != nil {
|
if readErr != nil {
|
||||||
t.Fatalf("read metadata: %v", readErr)
|
t.Fatalf("read metadata: %v", readErr)
|
||||||
}
|
}
|
||||||
if !strings.Contains(string(metadataData), paths.RenderContext) {
|
if !strings.Contains(string(metadataData), paths.GeneratedText) {
|
||||||
t.Fatalf("metadata missing render context link:\n%s", string(metadataData))
|
t.Fatalf("metadata missing generated text link:\n%s", string(metadataData))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user