39 lines
1.6 KiB
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)
|
|
}
|
|
}
|