github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/farm/keeper/proposal_test.go (about) 1 //go:build ignore 2 // +build ignore 3 4 package keeper 5 6 import ( 7 "testing" 8 "time" 9 10 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 11 "github.com/fibonacci-chain/fbc/x/farm/types" 12 govtypes "github.com/fibonacci-chain/fbc/x/gov/types" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestCheckMsgSubmitProposal(t *testing.T) { 17 ctx, k := GetKeeper(t) 18 19 proposal := govtypes.Proposal{Content: types.NewManageWhiteListProposal( 20 "Test", 21 "description", 22 "pool", 23 true, 24 )} 25 26 require.Equal(t, sdk.SysCoins(nil), k.GetMinDeposit(ctx, MockContent{})) 27 require.Equal(t, k.govKeeper.GetDepositParams(ctx).MinDeposit, k.GetMinDeposit(ctx, proposal.Content)) 28 29 require.Equal(t, time.Duration(0), k.GetMaxDepositPeriod(ctx, MockContent{})) 30 require.Equal(t, k.govKeeper.GetDepositParams(ctx).MaxDepositPeriod, k.GetMaxDepositPeriod(ctx, proposal.Content)) 31 32 require.Equal(t, time.Duration(0), k.GetVotingPeriod(ctx, MockContent{})) 33 require.Equal(t, k.govKeeper.GetVotingParams(ctx).VotingPeriod, k.GetVotingPeriod(ctx, proposal.Content)) 34 35 require.Error(t, k.CheckMsgSubmitProposal(ctx, govtypes.MsgSubmitProposal{Content: MockContent{}})) 36 err := k.CheckMsgSubmitProposal(ctx, govtypes.MsgSubmitProposal{Content: proposal.Content}) 37 require.Error(t, err) 38 } 39 40 func TestCheckMsgManageWhiteListProposal(t *testing.T) { 41 ctx, k := GetKeeper(t) 42 quoteSymbol := types.DefaultParams().QuoteSymbol 43 44 proposal := types.NewManageWhiteListProposal( 45 "Test", 46 "description", 47 "pool", 48 false, 49 ) 50 51 err := k.CheckMsgManageWhiteListProposal(ctx, proposal) 52 require.Error(t, err) 53 54 k.SetWhitelist(ctx, proposal.PoolName) 55 err = k.CheckMsgManageWhiteListProposal(ctx, proposal) 56 require.NoError(t, err) 57 58 proposal.IsAdded = true 59 err = k.CheckMsgManageWhiteListProposal(ctx, proposal) 60 require.Error(t, err) 61 62 lockedSymbol := "xxb" 63 pool := types.FarmPool{ 64 Name: proposal.PoolName, 65 MinLockAmount: sdk.NewDecCoinFromDec(lockedSymbol, sdk.ZeroDec()), 66 } 67 k.SetFarmPool(ctx, pool) 68 err = k.CheckMsgManageWhiteListProposal(ctx, proposal) 69 require.Error(t, err) 70 71 SetSwapTokenPair(ctx, k.Keeper, lockedSymbol, quoteSymbol) 72 err = k.CheckMsgManageWhiteListProposal(ctx, proposal) 73 require.NoError(t, err) 74 }