45 lines
998 B
Go
45 lines
998 B
Go
package cli
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
|
"github.com/cosmos/cosmos-sdk/testutil"
|
|
"github.com/cosmos/cosmos-sdk/x/params/client/utils"
|
|
)
|
|
|
|
func TestParseProposal(t *testing.T) {
|
|
cdc := codec.NewLegacyAmino()
|
|
okJSON, cleanup := testutil.WriteToNewTempFile(t, `
|
|
{
|
|
"title": "Staking Param Change",
|
|
"description": "Update max validators",
|
|
"changes": [
|
|
{
|
|
"subspace": "staking",
|
|
"key": "MaxValidators",
|
|
"value": 1
|
|
}
|
|
],
|
|
"deposit": "1000stake"
|
|
}
|
|
`)
|
|
t.Cleanup(cleanup)
|
|
|
|
proposal, err := utils.ParseParamChangeProposalJSON(cdc, okJSON.Name())
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, "Staking Param Change", proposal.Title)
|
|
require.Equal(t, "Update max validators", proposal.Description)
|
|
require.Equal(t, "1000stake", proposal.Deposit)
|
|
require.Equal(t, utils.ParamChangesJSON{
|
|
{
|
|
Subspace: "staking",
|
|
Key: "MaxValidators",
|
|
Value: []byte{0x31},
|
|
},
|
|
}, proposal.Changes)
|
|
}
|