diff options
author | T <t@tjp.lol> | 2025-08-13 13:04:05 -0600 |
---|---|---|
committer | T <t@tjp.lol> | 2025-08-13 13:42:43 -0600 |
commit | 389b72e55b04ccfc02b04eb81cb8f7bb7a5c8b59 (patch) | |
tree | be3015b2c7db90cddfc85d3e77ddc76213485494 /internal/reports/daterange_test.go | |
parent | 29c6581e08d0fe98433eff218de7701b51a6861c (diff) |
history filtering
Diffstat (limited to 'internal/reports/daterange_test.go')
-rw-r--r-- | internal/reports/daterange_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/internal/reports/daterange_test.go b/internal/reports/daterange_test.go index 69b0e4a..97678b6 100644 --- a/internal/reports/daterange_test.go +++ b/internal/reports/daterange_test.go @@ -192,6 +192,46 @@ func TestParseDateRange(t *testing.T) { input: "july abcd", wantErr: true, }, + { + name: "since format", + input: "since 2024-07-01", + wantErr: false, + validate: func(t *testing.T, dr DateRange) { + // Should start on July 1, 2024 with no end date + expectedStart := time.Date(2024, time.July, 1, 0, 0, 0, 0, time.UTC) + if !dr.Start.Equal(expectedStart) { + t.Errorf("Start = %v, want %v", dr.Start, expectedStart) + } + if !dr.End.IsZero() { + t.Errorf("End = %v, want zero time (no end date)", dr.End) + } + }, + }, + { + name: "since format case insensitive", + input: "SINCE 2024-12-25", + wantErr: false, + validate: func(t *testing.T, dr DateRange) { + // Should start on December 25, 2024 with no end date + expectedStart := time.Date(2024, time.December, 25, 0, 0, 0, 0, time.UTC) + if !dr.Start.Equal(expectedStart) { + t.Errorf("Start = %v, want %v", dr.Start, expectedStart) + } + if !dr.End.IsZero() { + t.Errorf("End = %v, want zero time (no end date)", dr.End) + } + }, + }, + { + name: "since format invalid date", + input: "since 2024-13-01", + wantErr: true, + }, + { + name: "since format missing date", + input: "since", + wantErr: true, + }, } for _, tt := range tests { @@ -223,6 +263,11 @@ func TestParseDateRange(t *testing.T) { return dateRange, nil } + // Check for "since YYYY-MM-DD" format + if strings.HasPrefix(lowerDateStr, "since ") { + return parseSinceDateRange(dateStr) + } + // Check for custom date range format: "YYYY-MM-DD to YYYY-MM-DD" if strings.Contains(dateStr, " to ") { return parseCustomDateRange(dateStr) |