Files
zarinpal-analytics-backend/internal/analytics/service_test.go

41 lines
1.1 KiB
Go

package analytics
import (
"strings"
"testing"
)
func TestPeerComparisonSupported(t *testing.T) {
t.Parallel()
if peerComparisonSupported("T318") {
t.Fatal("peerComparisonSupported() = true for terminal scope")
}
if !peerComparisonSupported("") {
t.Fatal("peerComparisonSupported() = false for merchant scope")
}
}
func TestPaymentHistoryQueryUsesHoursForDay(t *testing.T) {
t.Parallel()
query, capacity := paymentHistoryQuery("DAY")
if !strings.Contains(query, "local_hour") || !strings.Contains(query, "EXTRACT(HOUR") {
t.Fatalf("paymentHistoryQuery(DAY) does not group by local hour:\n%s", query)
}
if capacity != 24 {
t.Fatalf("paymentHistoryQuery(DAY) capacity = %d, want 24", capacity)
}
}
func TestPaymentHistoryQueryKeepsDatesForLongerPeriods(t *testing.T) {
t.Parallel()
query, capacity := paymentHistoryQuery("WEEK")
if strings.Contains(query, "EXTRACT(HOUR") {
t.Fatalf("paymentHistoryQuery(WEEK) unexpectedly groups by hour:\n%s", query)
}
if capacity != 93 {
t.Fatalf("paymentHistoryQuery(WEEK) capacity = %d, want 93", capacity)
}
}