Clean up generated text helpers

This commit is contained in:
2026-06-15 12:41:45 +00:00
parent 4fe0f40cef
commit b4e0aadbef
5 changed files with 160 additions and 66 deletions

View File

@@ -109,8 +109,30 @@ func TestBuildHourlyRenderContextAllowsOmittedOptionalModules(t *testing.T) {
if err != nil {
t.Fatalf("BuildHourlyRenderContext() error = %v", err)
}
if ctx.Modules.HourlyForecast != nil {
t.Fatalf("Modules.HourlyForecast = %#v, want nil for omitted module", ctx.Modules.HourlyForecast)
if ctx.Modules.CurrentConditions == nil {
t.Fatal("Modules.CurrentConditions = nil, want populated module")
}
if ctx.Modules.HourlyForecast != nil || ctx.Modules.PrecipTiming != nil || ctx.Modules.AlertDigest != nil {
t.Fatalf("Modules = %#v, want omitted optional modules to remain nil", ctx.Modules)
}
}
func TestBuildRenderContextReportsModuleExtractionError(t *testing.T) {
snapshot, err := module.NewSnapshot([]module.Output{
{ID: module.CurrentConditions, StanzaName: string(module.CurrentConditions), Value: "not a current conditions stanza"},
})
if err != nil {
t.Fatalf("NewSnapshot() error = %v", err)
}
_, err = BuildHourlyRenderContext(testMetadata(), snapshot, Hourly{
Summary: "Storm chances increase.",
ForecastDiscussion: "A front will keep the region unsettled.",
}, testCollected(), facts.DerivedFacts{})
if err == nil {
t.Fatal("BuildHourlyRenderContext() error = nil, want extraction error")
}
if !strings.Contains(err.Error(), string(module.CurrentConditions)) {
t.Fatalf("BuildHourlyRenderContext() error = %v, want module ID", err)
}
}
@@ -212,7 +234,7 @@ func TestBuildTomorrowRenderContextAllowsOmittedOptionalModules(t *testing.T) {
if err != nil {
t.Fatalf("BuildTomorrowRenderContext() error = %v", err)
}
if ctx.Modules.PrecipTiming != nil || len(ctx.Modules.Dayparts) != 0 {
if ctx.Modules.Metadata != nil || ctx.Modules.CurrentConditions != nil || ctx.Modules.PrecipTiming != nil || len(ctx.Modules.Dayparts) != 0 {
t.Fatalf("Modules = %#v, want omitted optional modules", ctx.Modules)
}
rendered, err := reporttemplate.Render("tomorrow", ctx)