Skip to content

Commit

Permalink
Fix keeper test
Browse files Browse the repository at this point in the history
  • Loading branch information
trinitys7 committed Oct 7, 2024
1 parent c8cdb40 commit c7b8bac
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 38 deletions.
24 changes: 19 additions & 5 deletions x/multi-staking/keeper/invartiants_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {
priv, valAddr := test.GenValAddressWithPrivKey()
valPubKey := priv.PubKey()

bondAmount := sdk.NewCoin(MultiStakingDenomA, math.NewInt(3001))

testCases := []struct {
name string
malleate func()
Expand Down Expand Up @@ -77,6 +79,10 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {
priv, valAddr2 := test.GenValAddressWithPrivKey()
valPubKey2 := priv.PubKey()
bondAmount := sdk.NewCoin(MultiStakingDenomA, math.NewInt(500))

valCoins := sdk.NewCoins(sdk.NewCoin(MultiStakingDenomA, math.NewInt(10000)), sdk.NewCoin(MultiStakingDenomB, math.NewInt(10000)))
suite.FundAccount(sdk.AccAddress(valAddr2), valCoins)

createMsg2 := stakingtypes.MsgCreateValidator{
Description: stakingtypes.Description{
Moniker: "test",
Expand All @@ -90,8 +96,8 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {
MaxRate: math.LegacyMustNewDecFromStr("0.1"),
MaxChangeRate: math.LegacyMustNewDecFromStr("0.1"),
},
MinSelfDelegation: math.NewInt(200),
DelegatorAddress: delAddr.String(),
MinSelfDelegation: math.NewInt(1),
DelegatorAddress: sdk.AccAddress(valAddr2).String(),
ValidatorAddress: valAddr2.String(),
Pubkey: codectypes.UnsafePackAny(valPubKey2),
Value: bondAmount,
Expand All @@ -100,6 +106,10 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {
_, err := suite.msgServer.CreateValidator(suite.ctx, &createMsg2)
suite.Require().NoError(err)

delMsg := stakingtypes.NewMsgDelegate(delAddr.String(), valAddr.String(), bondAmount)
_, err = suite.msgServer.Delegate(suite.ctx, delMsg)
suite.Require().NoError(err)

multiStakingMsg := stakingtypes.NewMsgBeginRedelegate(delAddr.String(), valAddr.String(), valAddr2.String(), bondAmount)
_, err = suite.msgServer.BeginRedelegate(suite.ctx, multiStakingMsg)
suite.Require().NoError(err)
Expand All @@ -109,9 +119,13 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {
{
name: "Success Undelegate",
malleate: func() {
delMsg := stakingtypes.NewMsgDelegate(delAddr.String(), valAddr.String(), bondAmount)
_, err := suite.msgServer.Delegate(suite.ctx, delMsg)
suite.Require().NoError(err)

bondAmount := sdk.NewCoin(MultiStakingDenomA, math.NewInt(250))
multiStakingMsg := stakingtypes.NewMsgUndelegate(delAddr.String(), valAddr.String(), bondAmount)
_, err := suite.msgServer.Undelegate(suite.ctx, multiStakingMsg)
_, err = suite.msgServer.Undelegate(suite.ctx, multiStakingMsg)
suite.Require().NoError(err)

bondAmount1 := sdk.NewCoin(MultiStakingDenomA, math.NewInt(500))
Expand All @@ -135,9 +149,9 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {

valCoins := sdk.NewCoins(sdk.NewCoin(MultiStakingDenomA, math.NewInt(10000)), sdk.NewCoin(MultiStakingDenomB, math.NewInt(10000)))
suite.FundAccount(delAddr, valCoins)
suite.FundAccount(sdk.AccAddress(valAddr), valCoins)

suite.msKeeper.SetBondWeight(suite.ctx, MultiStakingDenomA, math.LegacyMustNewDecFromStr("0.3"))
bondAmount := sdk.NewCoin(MultiStakingDenomA, math.NewInt(3001))
msg := stakingtypes.MsgCreateValidator{
Description: stakingtypes.Description{
Moniker: "test",
Expand All @@ -152,7 +166,7 @@ func (suite *KeeperTestSuite) TestModuleAccountInvariants() {
MaxChangeRate: math.LegacyMustNewDecFromStr("0.05"),
},
MinSelfDelegation: math.NewInt(1),
DelegatorAddress: delAddr.String(),
DelegatorAddress: sdk.AccAddress(valAddr).String(),
ValidatorAddress: valAddr.String(),
Pubkey: codectypes.UnsafePackAny(valPubKey),
Value: bondAmount,
Expand Down
20 changes: 13 additions & 7 deletions x/multi-staking/keeper/keeper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ func (suite *KeeperTestSuite) SetupTest() {
ctx := app.BaseApp.NewContextLegacy(false, tmproto.Header{Height: app.LastBlockHeight() + 1})

_, err := app.CrisisKeeper.ConstantFee.Get(ctx)
if err != nil {
panic("dcm")
}
suite.Require().NoError(err)

multiStakingMsgServer := multistakingkeeper.NewMsgServerImpl(app.MultiStakingKeeper)

suite.app, suite.ctx, suite.msKeeper, suite.govKeeper, suite.msgServer = app, ctx, &app.MultiStakingKeeper, app.GovKeeper, multiStakingMsgServer
Expand All @@ -52,7 +51,6 @@ func TestKeeperTestSuite(t *testing.T) {

func (suite *KeeperTestSuite) TestAdjustUnbondAmount() {
delAddr := test.GenAddress()
valDelAddr := test.GenAddress()
valPubKey := test.GenPubKey()
valAddr := sdk.ValAddress(valPubKey.Address())

Expand Down Expand Up @@ -110,7 +108,7 @@ func (suite *KeeperTestSuite) TestAdjustUnbondAmount() {
bondAmount := sdk.NewCoin(MultiStakingDenomA, math.NewInt(1000))
userBalance := sdk.NewCoin(MultiStakingDenomA, math.NewInt(10000))
suite.FundAccount(delAddr, sdk.NewCoins(userBalance))
suite.FundAccount(valDelAddr, sdk.NewCoins(userBalance))
suite.FundAccount(sdk.AccAddress(valAddr), sdk.NewCoins(userBalance))

createMsg := stakingtypes.MsgCreateValidator{
Description: stakingtypes.Description{
Expand All @@ -126,7 +124,7 @@ func (suite *KeeperTestSuite) TestAdjustUnbondAmount() {
MaxChangeRate: math.LegacyMustNewDecFromStr("0.05"),
},
MinSelfDelegation: math.NewInt(200),
DelegatorAddress: valDelAddr.String(),
DelegatorAddress: sdk.AccAddress(valAddr).String(),
ValidatorAddress: valAddr.String(),
Pubkey: codectypes.UnsafePackAny(valPubKey),
Value: bondAmount,
Expand Down Expand Up @@ -231,6 +229,7 @@ func (suite *KeeperTestSuite) TestAdjustCancelUnbondAmount() {
bondAmount := sdk.NewCoin(MultiStakingDenomA, math.NewInt(5000))
userBalance := sdk.NewCoin(MultiStakingDenomA, math.NewInt(10000))
suite.FundAccount(delAddr, sdk.NewCoins(userBalance))
suite.FundAccount(sdk.AccAddress(valAddr), sdk.NewCoins(userBalance))

createMsg := stakingtypes.MsgCreateValidator{
Description: stakingtypes.Description{
Expand All @@ -246,16 +245,23 @@ func (suite *KeeperTestSuite) TestAdjustCancelUnbondAmount() {
MaxChangeRate: math.LegacyMustNewDecFromStr("0.05"),
},
MinSelfDelegation: math.NewInt(200),
DelegatorAddress: delAddr.String(),
DelegatorAddress: sdk.AccAddress(valAddr).String(),
ValidatorAddress: valAddr.String(),
Pubkey: codectypes.UnsafePackAny(valPubKey),
Value: bondAmount,
}
_, err = suite.msgServer.CreateValidator(suite.ctx, &createMsg)
suite.Require().NoError(err)

delMsg := stakingtypes.NewMsgDelegate(delAddr.String(), valAddr.String(), bondAmount)
_, err = suite.msgServer.Delegate(suite.ctx, delMsg)
suite.Require().NoError(err)

_, err = tc.malleate(suite.ctx, suite.msgServer, *suite.msKeeper)
suite.Require().NoError(err)

suite.ctx = suite.ctx.WithBlockHeader(tmproto.Header{Time: time.Now()}).WithBlockHeight(1)

actualAmt, err := suite.msKeeper.AdjustCancelUnbondingAmount(suite.ctx, delAddr, valAddr, suite.ctx.BlockHeight(), tc.adjustAmount)

if tc.expErr {
Expand Down
3 changes: 1 addition & 2 deletions x/multi-staking/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ func (k msgServer) CreateValidator(c context.Context, msg *stakingtypes.MsgCreat
}

// EditValidator defines a method for editing an existing validator
func (k msgServer) EditValidator(c context.Context, msg *stakingtypes.MsgEditValidator) (*stakingtypes.MsgEditValidatorResponse, error) {
ctx := sdk.UnwrapSDKContext(c)
func (k msgServer) EditValidator(ctx context.Context, msg *stakingtypes.MsgEditValidator) (*stakingtypes.MsgEditValidatorResponse, error) {
return k.stakingMsgServer.EditValidator(ctx, msg)
}

Expand Down
Loading

0 comments on commit c7b8bac

Please sign in to comment.