feat(report): support historical rebuild dates
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func sampleReportForV1() *ReportV3 {
|
||||
@@ -180,6 +181,52 @@ func TestBuildFreeSourceBreakdown(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveReportDateDefaultsToToday(t *testing.T) {
|
||||
got, err := resolveReportDate(time.Date(2026, 5, 14, 9, 0, 0, 0, time.FixedZone("CST", 8*3600)), nil, "")
|
||||
if err != nil {
|
||||
t.Fatalf("resolveReportDate returned error: %v", err)
|
||||
}
|
||||
if got != "2026-05-14" {
|
||||
t.Fatalf("date = %q, want %q", got, "2026-05-14")
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveReportDateUsesEnvDate(t *testing.T) {
|
||||
got, err := resolveReportDate(time.Now(), nil, "2026-05-09")
|
||||
if err != nil {
|
||||
t.Fatalf("resolveReportDate returned error: %v", err)
|
||||
}
|
||||
if got != "2026-05-09" {
|
||||
t.Fatalf("date = %q, want %q", got, "2026-05-09")
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveReportDateCLIOverridesEnv(t *testing.T) {
|
||||
got, err := resolveReportDate(time.Now(), []string{"-date", "2024-06-05"}, "2026-05-09")
|
||||
if err != nil {
|
||||
t.Fatalf("resolveReportDate returned error: %v", err)
|
||||
}
|
||||
if got != "2024-06-05" {
|
||||
t.Fatalf("date = %q, want %q", got, "2024-06-05")
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveReportDateSupportsEqualsSyntax(t *testing.T) {
|
||||
got, err := resolveReportDate(time.Now(), []string{"--date=2024-10-25"}, "")
|
||||
if err != nil {
|
||||
t.Fatalf("resolveReportDate returned error: %v", err)
|
||||
}
|
||||
if got != "2024-10-25" {
|
||||
t.Fatalf("date = %q, want %q", got, "2024-10-25")
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveReportDateRejectsInvalidDate(t *testing.T) {
|
||||
if _, err := resolveReportDate(time.Now(), []string{"-date", "2026/05/09"}, ""); err == nil {
|
||||
t.Fatalf("expected invalid date error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestDecorateReportV1BuildsHotDaySummary(t *testing.T) {
|
||||
report := sampleReportForV1()
|
||||
report.ModelEvents = []ModelEvent{
|
||||
|
||||
Reference in New Issue
Block a user