59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
package databi
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"hyapp-admin-server/internal/model"
|
|
"hyapp-admin-server/internal/repository"
|
|
)
|
|
|
|
func testAccess() repository.MoneyAccess {
|
|
return repository.MoneyAccess{
|
|
UserID: 7,
|
|
Scopes: []model.UserMoneyScope{
|
|
{UserID: 7, AppCode: "lalu", RegionID: 0},
|
|
{UserID: 7, AppCode: "aslan", RegionID: 11},
|
|
{UserID: 7, AppCode: "aslan", RegionID: 12},
|
|
},
|
|
}
|
|
}
|
|
|
|
func mustLocation(t *testing.T, name string) *time.Location {
|
|
t.Helper()
|
|
location, err := time.LoadLocation(name)
|
|
if err != nil {
|
|
t.Fatalf("load location %s: %v", name, err)
|
|
}
|
|
return location
|
|
}
|
|
|
|
func TestRegionDisplay(t *testing.T) {
|
|
regions := []RegionInfo{{AppCode: "aslan", RegionID: 11, RegionCode: "MENA", RegionName: "中东"}}
|
|
if _, name := regionDisplay(regions, 0); name != "全部区域" {
|
|
t.Fatalf("expected 全部区域 for region 0, got %s", name)
|
|
}
|
|
if code, name := regionDisplay(regions, 11); code != "MENA" || name != "中东" {
|
|
t.Fatalf("unexpected display for region 11: %s %s", code, name)
|
|
}
|
|
if _, name := regionDisplay(regions, 99); name != "区域 99" {
|
|
t.Fatalf("expected fallback name for unknown region, got %s", name)
|
|
}
|
|
}
|
|
|
|
func TestTopLevelMetricsStripsStructuralKeys(t *testing.T) {
|
|
out := topLevelMetrics(map[string]any{
|
|
"recharge_usd_minor": int64(5),
|
|
"daily_series": []any{"x"},
|
|
"country_breakdown": []any{"y"},
|
|
"daily_country_breakdown": []any{"z"},
|
|
"report_metric_sources": []any{},
|
|
})
|
|
if _, ok := out["daily_series"]; ok {
|
|
t.Fatalf("expected daily_series stripped")
|
|
}
|
|
if out["recharge_usd_minor"] != int64(5) {
|
|
t.Fatalf("expected metric kept, got %v", out["recharge_usd_minor"])
|
|
}
|
|
}
|