github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/gov/invariants_test.go (about) 1 package gov 2 3 import ( 4 "testing" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 "github.com/stretchr/testify/require" 8 9 "github.com/fibonacci-chain/fbc/x/gov/keeper" 10 "github.com/fibonacci-chain/fbc/x/gov/types" 11 ) 12 13 func TestModuleAccountInvariant(t *testing.T) { 14 ctx, _, gk, _, crisisKeeper := keeper.CreateTestInput(t, false, 1000) 15 govHandler := NewHandler(gk) 16 17 initialDeposit := sdk.SysCoins{sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 50)} 18 content := types.NewTextProposal("Test", "description") 19 newProposalMsg := NewMsgSubmitProposal(content, initialDeposit, keeper.Addrs[0]) 20 res, err := govHandler(ctx, newProposalMsg) 21 require.Nil(t, err) 22 var proposalID uint64 23 gk.Cdc().MustUnmarshalBinaryLengthPrefixed(res.Data, &proposalID) 24 25 newDepositMsg := NewMsgDeposit(keeper.Addrs[0], proposalID, 26 sdk.SysCoins{sdk.NewInt64DecCoin(sdk.DefaultBondDenom, 100)}) 27 res, err = govHandler(ctx, newDepositMsg) 28 require.Nil(t, err) 29 30 invariant := ModuleAccountInvariant(gk) 31 _, broken := invariant(ctx) 32 require.False(t, broken) 33 34 // todo: check diff after RegisterInvariants 35 RegisterInvariants(&crisisKeeper, gk) 36 }