dana-medical-site/internal/api/admin_stats_test.go
2026-10-14 13:33:13 +00:00

28 lines
849 B
Go

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)
}
}
}