github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/gov/keeper/keeper_test.go (about)

     1  package keeper
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/gov/types"
     9  )
    10  
    11  func TestIncrementProposalNumber(t *testing.T) {
    12  	ctx, _, keeper, _, _ := createTestInput(t, false, 100)
    13  
    14  	tp := TestProposal
    15  	keeper.SubmitProposal(ctx, tp)
    16  	keeper.SubmitProposal(ctx, tp)
    17  	keeper.SubmitProposal(ctx, tp)
    18  	keeper.SubmitProposal(ctx, tp)
    19  	keeper.SubmitProposal(ctx, tp)
    20  	proposal6, err := keeper.SubmitProposal(ctx, tp)
    21  	require.NoError(t, err)
    22  
    23  	require.Equal(t, uint64(6), proposal6.ProposalID)
    24  }
    25  
    26  func TestProposalQueues(t *testing.T) {
    27  	ctx, _, keeper, _, _ := createTestInput(t, false, 100)
    28  
    29  	// create test proposals
    30  	tp := TestProposal
    31  	proposal, err := keeper.SubmitProposal(ctx, tp)
    32  	require.NoError(t, err)
    33  
    34  	inactiveIterator := keeper.InactiveProposalQueueIterator(ctx, proposal.DepositEndTime)
    35  	require.True(t, inactiveIterator.Valid())
    36  
    37  	proposalID := types.GetProposalIDFromBytes(inactiveIterator.Value())
    38  	require.Equal(t, proposalID, proposal.ProposalID)
    39  	inactiveIterator.Close()
    40  
    41  	keeper.activateVotingPeriod(ctx, proposal)
    42  
    43  	proposal, ok := keeper.GetProposal(ctx, proposal.ProposalID)
    44  	require.True(t, ok)
    45  
    46  	activeIterator := keeper.ActiveProposalQueueIterator(ctx, proposal.VotingEndTime)
    47  	require.True(t, activeIterator.Valid())
    48  	keeper.cdc.UnmarshalBinaryLengthPrefixed(activeIterator.Value(), &proposalID)
    49  	require.Equal(t, proposalID, proposal.ProposalID)
    50  	activeIterator.Close()
    51  }