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  }