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  //}