github.com/Finschia/finschia-sdk@v0.48.1/x/stakingplus/keeper/msg_server_test.go (about) 1 package keeper_test 2 3 import ( 4 "github.com/Finschia/finschia-sdk/simapp" 5 sdk "github.com/Finschia/finschia-sdk/types" 6 stakingtypes "github.com/Finschia/finschia-sdk/x/staking/types" 7 ) 8 9 func (s *KeeperTestSuite) TestMsgCreateValidator() { 10 testCases := map[string]struct { 11 delegator sdk.AccAddress 12 valid bool 13 }{ 14 "valid request": { 15 delegator: s.grantee, 16 valid: true, 17 }, 18 "no grant found": { 19 delegator: s.stranger, 20 }, 21 } 22 23 for name, tc := range testCases { 24 s.Run(name, func() { 25 ctx, _ := s.ctx.CacheContext() 26 27 pk := simapp.CreateTestPubKeys(1)[0] 28 delegation := sdk.NewCoin(sdk.DefaultBondDenom, sdk.OneInt()) 29 req, err := stakingtypes.NewMsgCreateValidator( 30 sdk.ValAddress(tc.delegator), 31 pk, 32 delegation, 33 stakingtypes.Description{}, 34 stakingtypes.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()), 35 delegation.Amount, 36 ) 37 s.Require().NoError(err) 38 39 res, err := s.msgServer.CreateValidator(sdk.WrapSDKContext(ctx), req) 40 if !tc.valid { 41 s.Require().Error(err) 42 return 43 } 44 s.Require().NoError(err) 45 s.Require().NotNil(res) 46 }) 47 } 48 }