package accounts_test import ( "testing" "github.com/wangjia/pay/config" "github.com/wangjia/pay/internal/accounts" ) func TestEnabledForAndCredential(t *testing.T) { t.Setenv("USDT_A1_XPUB", "xpub-abc") reg := accounts.New([]config.AccountConfig{ {AccountID: "usdt-a1", Channel: "crypto", Region: "global", Enabled: true, Weight: 1, CredentialEnvPrefix: "USDT_A1"}, {AccountID: "usdt-a2", Channel: "crypto", Region: "global", Enabled: false, Weight: 1, CredentialEnvPrefix: "USDT_A2"}, {AccountID: "ali-cn1", Channel: "alipay", Region: "cn", Enabled: true, Weight: 1, CredentialEnvPrefix: "ALI_CN1"}, }) got := reg.EnabledFor("crypto", "global") if len(got) != 1 || got[0].AccountID != "usdt-a1" { t.Fatalf("EnabledFor crypto/global = %+v", got) } if reg.Credential("usdt-a1", "XPUB") != "xpub-abc" { t.Fatalf("Credential xpub 取值失败") } if len(reg.EnabledFor("alipay", "global")) != 0 { t.Fatalf("alipay 在 global 应无账户") } }