51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package model
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestTransferNormalizePreservesBase58ExternalAddress(t *testing.T) {
|
|
address := "TGBDXEg9rxSqGFJDcb889zqTjDwx1bmLRF"
|
|
transfer := &Transfer{
|
|
IdempotencyKey: "idemp",
|
|
TransferRef: "ref",
|
|
OrganizationRef: "org",
|
|
SourceWalletRef: "wallet",
|
|
Network: "tron_mainnet",
|
|
TokenSymbol: "USDT",
|
|
Destination: TransferDestination{
|
|
ExternalAddress: address,
|
|
ExternalAddressOriginal: address,
|
|
},
|
|
}
|
|
|
|
transfer.Normalize()
|
|
|
|
if transfer.Destination.ExternalAddress != address {
|
|
t.Fatalf("expected external address to preserve case, got %q", transfer.Destination.ExternalAddress)
|
|
}
|
|
if transfer.Destination.ExternalAddressOriginal != address {
|
|
t.Fatalf("expected external address original to preserve case, got %q", transfer.Destination.ExternalAddressOriginal)
|
|
}
|
|
}
|
|
|
|
func TestTransferNormalizeLowercasesHexExternalAddress(t *testing.T) {
|
|
address := "0xAABBCCDDEEFF00112233445566778899AABBCCDD"
|
|
transfer := &Transfer{
|
|
Destination: TransferDestination{
|
|
ExternalAddress: address,
|
|
ExternalAddressOriginal: address,
|
|
},
|
|
}
|
|
|
|
transfer.Normalize()
|
|
|
|
if transfer.Destination.ExternalAddress != strings.ToLower(address) {
|
|
t.Fatalf("expected hex external address to be lowercased, got %q", transfer.Destination.ExternalAddress)
|
|
}
|
|
if transfer.Destination.ExternalAddressOriginal != address {
|
|
t.Fatalf("expected external address original to preserve case, got %q", transfer.Destination.ExternalAddressOriginal)
|
|
}
|
|
}
|