package api import ( "testing" "time" ) func TestStatsRange(t *testing.T) { now := time.Date(2026, 9, 21, 22, 30, 0, 0, time.UTC) // 22 сентября 01:30 по Москве from, to, ok := statsRange(map[string][]string{}, now) if !ok || from.Format("2006-01-02") != "2026-08-24" || to.Format("2006-01-02") != "2026-09-23" { t.Fatalf("default range = %v..%v ok=%v", from, to, ok) } from, to, ok = statsRange(map[string][]string{"from": {"2026-09-01"}, "to": {"2026-09-01"}}, now) if !ok || to.Sub(from) != 24*time.Hour { t.Fatalf("one day range = %v..%v", from, to) } for _, q := range []map[string][]string{ {"from": {"01.09.2026"}}, {"from": {"2026-09-10"}, "to": {"2026-09-01"}}, {"from": {"2020-01-01"}, "to": {"2026-01-01"}}, } { if _, _, ok := statsRange(q, now); ok { t.Errorf("range %v accepted", q) } } }