package changes import ( "testing" "gitea.maximumdirect.net/eric/weatherreporter/internal/briefing" "gitea.maximumdirect.net/eric/weatherreporter/internal/forecast" "gitea.maximumdirect.net/eric/weatherreporter/internal/report" ) func TestCompareWeekendDetectsOutlookChanges(t *testing.T) { previousTemp := 70.0 currentTemp := 78.0 previous := briefing.Package{ Metadata: briefing.Metadata{ReportID: report.Weekend}, Weekend: &briefing.Weekend{Days: []briefing.OutlookDay{{ Date: "2026-05-30", Temperature: forecast.Range{Max: &previousTemp}, }}}, } current := briefing.Package{ Metadata: briefing.Metadata{ReportID: report.Weekend}, Weekend: &briefing.Weekend{Days: []briefing.OutlookDay{{ Date: "2026-05-30", Temperature: forecast.Range{Max: ¤tTemp}, Dayparts: []forecast.DaypartSummary{{Indicators: forecast.Indicators{Snow: true}}}, }}}, } changes, err := CompareWeekend(previous, current, Thresholds{TemperatureDegrees: 5}) if err != nil { t.Fatalf("CompareWeekend() error = %v", err) } if len(changes) == 0 { t.Fatal("changes length = 0, want weekend changes") } for _, change := range changes { if change.Type == "weekend_outlook_snow_risk_change" { return } } t.Fatalf("changes = %#v, want snow risk change", changes) }