32 lines
641 B
Go
32 lines
641 B
Go
|
package staking
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
|
||
|
crypto "github.com/tendermint/go-crypto"
|
||
|
|
||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||
|
)
|
||
|
|
||
|
func TestBondMsgValidation(t *testing.T) {
|
||
|
privKey := crypto.GenPrivKeyEd25519()
|
||
|
cases := []struct {
|
||
|
valid bool
|
||
|
bondMsg BondMsg
|
||
|
}{
|
||
|
{true, NewBondMsg(sdk.Address{}, sdk.Coin{"mycoin", 5}, privKey.PubKey())},
|
||
|
{false, NewBondMsg(sdk.Address{}, sdk.Coin{"mycoin", 0}, privKey.PubKey())},
|
||
|
}
|
||
|
|
||
|
for i, tc := range cases {
|
||
|
err := tc.bondMsg.ValidateBasic()
|
||
|
if tc.valid {
|
||
|
assert.Nil(t, err, "%d: %+v", i, err)
|
||
|
} else {
|
||
|
assert.NotNil(t, err, "%d", i)
|
||
|
}
|
||
|
}
|
||
|
}
|