Files
kra-new/internal/service/business/date_range_test.go
T

34 lines
1.2 KiB
Go

package business
import (
"context"
"kra/internal/service/dto"
"testing"
)
func TestRejectIncompleteAndReversedDateRanges(t *testing.T) {
for _, dates := range [][2]string{{"2026-11-01", ""}, {"", "2026-11-01"}, {"2026-11-03", "2026-11-01"}, {"bad", "2026-11-01"}} {
if _, err := analyticsRequest(&dto.AnalyticsQuery{BeginTime: dates[0], EndTime: dates[1]}); err == nil {
t.Errorf("analytics accepted %v", dates)
}
for _, spend := range []bool{false, true} {
_, _, err := ledgerRequest(&dto.LedgerQuery{BeginRegisterTime: dates[0], EndRegisterTime: dates[1], BeginPayTime: dates[0], EndPayTime: dates[1]}, spend)
if err == nil {
t.Errorf("ledger accepted %v (spend=%v)", dates, spend)
}
}
}
for _, dates := range [][2]string{{"", ""}, {"2026-11-01", "2026-11-01"}} {
if _, err := analyticsRequest(&dto.AnalyticsQuery{BeginTime: dates[0], EndTime: dates[1]}); err != nil {
t.Fatal(err)
}
if _, _, err := ledgerRequest(&dto.LedgerQuery{BeginPayTime: dates[0], EndPayTime: dates[1]}, true); err != nil {
t.Fatal(err)
}
}
s := &AccountService{}
if _, err := s.List(context.Background(), &dto.BusinessAccountQuery{BeginTime: "2026-11-01 00:00:00"}); err == nil {
t.Fatal("account query silently ignored incomplete date range")
}
}