cosmos-sdk/x/bank/legacy/v0_39/migrate_test.go

68 lines
1.7 KiB
Go

package v039_test
import (
"testing"
"github.com/cosmos/cosmos-sdk/codec"
sdk "github.com/cosmos/cosmos-sdk/types"
v038auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v0_38"
v038bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v0_38"
v039bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v0_39"
"github.com/stretchr/testify/require"
)
func TestMigrate(t *testing.T) {
v039Codec := codec.New()
codec.RegisterCrypto(v039Codec)
v038auth.RegisterCodec(v039Codec)
coins := sdk.NewCoins(sdk.NewInt64Coin("stake", 50))
addr1, _ := sdk.AccAddressFromBech32("cosmos1xxkueklal9vejv9unqu80w9vptyepfa95pd53u")
acc1 := v038auth.NewBaseAccount(addr1, coins, nil, 1, 0)
addr2, _ := sdk.AccAddressFromBech32("cosmos15v50ymp6n5dn73erkqtmq0u8adpl8d3ujv2e74")
vaac := v038auth.NewContinuousVestingAccountRaw(
v038auth.NewBaseVestingAccount(
v038auth.NewBaseAccount(addr2, coins, nil, 1, 0), coins, nil, nil, 3160620846,
),
1580309972,
)
bankGenState := v038bank.GenesisState{
SendEnabled: true,
}
authGenState := v038auth.GenesisState{
Accounts: v038auth.GenesisAccounts{acc1, vaac},
}
migrated := v039bank.Migrate(bankGenState, authGenState)
expected := `{
"send_enabled": true,
"balances": [
{
"address": "cosmos1xxkueklal9vejv9unqu80w9vptyepfa95pd53u",
"coins": [
{
"denom": "stake",
"amount": "50"
}
]
},
{
"address": "cosmos15v50ymp6n5dn73erkqtmq0u8adpl8d3ujv2e74",
"coins": [
{
"denom": "stake",
"amount": "50"
}
]
}
]
}`
bz, err := v039Codec.MarshalJSONIndent(migrated, "", " ")
require.NoError(t, err)
require.Equal(t, expected, string(bz))
}