github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/farm/proposal_handler_test.go (about) 1 //go:build ignore 2 // +build ignore 3 4 package farm 5 6 import ( 7 "testing" 8 9 swaptypes "github.com/fibonacci-chain/fbc/x/ammswap/types" 10 "github.com/fibonacci-chain/fbc/x/farm/keeper" 11 "github.com/fibonacci-chain/fbc/x/farm/types" 12 govtypes "github.com/fibonacci-chain/fbc/x/gov/types" 13 14 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 15 "github.com/stretchr/testify/require" 16 ) 17 18 func TestProposalHandlerPassed(t *testing.T) { 19 ctx, k := keeper.GetKeeper(t) 20 21 poolName := "pool1" 22 hdlr := NewManageWhiteListProposalHandler(&k.Keeper) 23 quoteSymbol := types.DefaultParams().QuoteSymbol 24 25 proposal1 := govtypes.Proposal{Content: keeper.MockContent{}} 26 err := hdlr(ctx, &proposal1) 27 require.NotNil(t, err) 28 29 proposal2 := govtypes.Proposal{Content: types.NewManageWhiteListProposal( 30 "Test", 31 "description", 32 poolName, 33 true, 34 )} 35 err = hdlr(ctx, &proposal2) 36 require.NotNil(t, err) 37 38 pool := types.FarmPool{ 39 Name: poolName, 40 MinLockAmount: sdk.NewDecCoinFromDec("xxb", sdk.ZeroDec()), 41 } 42 k.SetFarmPool(ctx, pool) 43 err = hdlr(ctx, &proposal2) 44 require.NotNil(t, err) 45 46 keeper.SetSwapTokenPair(ctx, k.Keeper, pool.MinLockAmount.Denom, quoteSymbol) 47 err = hdlr(ctx, &proposal2) 48 require.Nil(t, err) 49 require.True(t, inWhiteList(k.GetWhitelist(ctx), pool.Name)) 50 51 // test add LPT 52 poolName = "pool2" 53 baseSymbol := "okb" 54 lockSymbol := swaptypes.PoolTokenPrefix + baseSymbol + "_" + quoteSymbol 55 pool = types.FarmPool{ 56 Name: poolName, 57 MinLockAmount: sdk.NewDecCoinFromDec(lockSymbol, sdk.ZeroDec()), 58 } 59 k.SetFarmPool(ctx, pool) 60 proposal3 := govtypes.Proposal{Content: types.NewManageWhiteListProposal( 61 "Test", 62 "description", 63 poolName, 64 true, 65 )} 66 err = hdlr(ctx, &proposal3) 67 require.NotNil(t, err) 68 69 keeper.SetSwapTokenPair(ctx, k.Keeper, baseSymbol, quoteSymbol) 70 err = hdlr(ctx, &proposal3) 71 require.Nil(t, err) 72 require.True(t, inWhiteList(k.GetWhitelist(ctx), pool.Name)) 73 } 74 75 func inWhiteList(list types.PoolNameList, name string) bool { 76 for _, poolName := range list { 77 if poolName == name { 78 return true 79 } 80 } 81 return false 82 } 83 84 // 85 //func TestProposalHandlerFailed(t *testing.T) { 86 // ctx,k := keeper.GetKeeper(t) 87 // 88 // account := accountKeeper.NewAccountWithAddress(ctx, recipient) 89 // require.True(t, account.GetCoins().IsZero()) 90 // accountKeeper.SetAccount(ctx, account) 91 // 92 // tp := testProposal(recipient, amount) 93 // hdlr := NewCommunityPoolSpendProposalHandler(k) 94 // require.Error(t, hdlr(ctx, &tp)) 95 // require.True(t, accountKeeper.GetAccount(ctx, recipient).GetCoins().IsZero()) 96 //} 97 // 98 //func TestNewManageWhiteListProposalHandler(t *testing.T) { 99 // ctx, k := keeper.GetKeeper(t) 100 // 101 //}