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  }