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