Prepare reports for Promptkit migration

This commit is contained in:
2026-07-31 03:53:47 +00:00
parent 2e0fb65a8b
commit d5fcbfd20c
87 changed files with 2223 additions and 3382 deletions

View File

@@ -2,9 +2,10 @@ package reporttemplate
import (
"encoding/json"
"os"
"strings"
"testing"
"gitea.maximumdirect.net/eric/weatherreporter/internal/promptassets"
)
func TestTemplateLookup(t *testing.T) {
@@ -59,7 +60,7 @@ func TestTodayTemplateLookup(t *testing.T) {
}
func TestSchemaLookup(t *testing.T) {
data, err := Schema("hourly")
data, err := promptassets.Schema("hourly")
if err != nil {
t.Fatalf("Schema() error = %v", err)
}
@@ -67,7 +68,7 @@ func TestSchemaLookup(t *testing.T) {
}
func TestTomorrowSchemaLookup(t *testing.T) {
data, err := Schema("tomorrow")
data, err := promptassets.Schema("tomorrow")
if err != nil {
t.Fatalf("Schema() error = %v", err)
}
@@ -98,7 +99,7 @@ func TestTomorrowSchemaLookup(t *testing.T) {
}
func TestDailySchemaLookup(t *testing.T) {
data, err := Schema("daily")
data, err := promptassets.Schema("daily")
if err != nil {
t.Fatalf("Schema() error = %v", err)
}
@@ -129,7 +130,7 @@ func TestDailySchemaLookup(t *testing.T) {
}
func TestTodaySchemaLookup(t *testing.T) {
data, err := Schema("today")
data, err := promptassets.Schema("today")
if err != nil {
t.Fatalf("Schema() error = %v", err)
}
@@ -904,26 +905,11 @@ func TestUnknownAssetsReturnActionableErrors(t *testing.T) {
if _, err := Template("missing"); err == nil || !strings.Contains(err.Error(), `unknown report template "missing"`) {
t.Fatalf("Template() error = %v, want unknown template", err)
}
if _, err := Schema("missing"); err == nil || !strings.Contains(err.Error(), `unknown generated text schema "missing"`) {
t.Fatalf("Schema() error = %v, want unknown schema", err)
}
if _, err := Render("missing", testRenderContext{}); err == nil || !strings.Contains(err.Error(), `unknown report template "missing"`) {
t.Fatalf("Render() error = %v, want unknown template", err)
}
}
func TestDailyPromptAssetExists(t *testing.T) {
data, err := os.ReadFile("prompts/daily.generated_text.md")
if err != nil {
t.Fatalf("read Daily prompt asset: %v", err)
}
for _, want := range []string{"TASK:", "`summary`", "`forecast_discussion`", "`daily_planning`"} {
if !strings.Contains(string(data), want) {
t.Fatalf("Daily prompt asset missing %q:\n%s", want, string(data))
}
}
}
func TestRenderFailsForMissingContextFields(t *testing.T) {
_, err := Render("hourly", map[string]any{"Report": map[string]any{"Title": "Hourly Report"}})
if err == nil {