Files
weatherreporter/internal/state/metadata_reached_paths_test.go

39 lines
1.6 KiB
Go

package state
import (
"testing"
"time"
"gitea.maximumdirect.net/eric/weatherreporter/internal/briefing"
"gitea.maximumdirect.net/eric/weatherreporter/internal/report"
)
func TestBuildPromptMetadataIncludesOnlyExistingArtifacts(t *testing.T) {
resolved, err := report.DefaultRegistry().Resolve(report.Daily, report.ResolveRequest{
Now: time.Date(2026, 5, 29, 12, 0, 0, 0, time.UTC),
Date: time.Date(2026, 5, 29, 0, 0, 0, 0, time.UTC), Location: time.UTC,
})
if err != nil {
t.Fatalf("Resolve() error = %v", err)
}
metadata := BuildPromptMetadataFromBriefingMetadata(resolved, briefing.Metadata{}, ArtifactPaths{
ModuleSnapshot: "/saved/modules.json",
Metadata: "/destination/metadata.json",
DataPackage: "/saved/data.yaml",
Preparation: "/future/preparation.json",
Execution: "/future/execution.json",
Notification: "/future/notification.json",
RenderedReport: "/future/report.md",
GeneratedTextRaw: "/future/raw.json",
GeneratedText: "/future/generated.json",
RenderContext: "/future/context.json",
})
if metadata.ModuleSnapshotPath != "/saved/modules.json" || metadata.DataPackagePath != "/saved/data.yaml" || metadata.MetadataPath != "/destination/metadata.json" {
t.Fatalf("existing paths = %#v, want module, data package, and metadata destination", metadata)
}
if metadata.PreparationPath != "" || metadata.ExecutionPath != "" || metadata.NotificationPath != "" || metadata.RenderedReportPath != "" || metadata.GeneratedTextRawPath != "" || metadata.GeneratedTextPath != "" || metadata.RenderContextPath != "" {
t.Fatalf("metadata includes paths for unreached artifacts: %#v", metadata)
}
}