github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/dex/types/proposal_test.go (about)

     1  //go:build ignore
     2  
     3  package types
     4  
     5  import (
     6  	"fmt"
     7  	"testing"
     8  
     9  	"github.com/fibonacci-chain/fbc/x/common"
    10  
    11  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
    12  	"github.com/stretchr/testify/require"
    13  )
    14  
    15  func TestDelistProposal_ValidateBasic(t *testing.T) {
    16  	common.InitConfig()
    17  	addr, err := sdk.AccAddressFromBech32(TestTokenPairOwner)
    18  	require.Nil(t, err)
    19  
    20  	proposal := NewDelistProposal("proposal", "right delist proposal", addr, "eth", "btc")
    21  	require.Equal(t, "proposal", proposal.GetTitle())
    22  	require.Equal(t, "right delist proposal", proposal.GetDescription())
    23  	require.Equal(t, RouterKey, proposal.ProposalRoute())
    24  	require.Equal(t, proposalTypeDelist, proposal.ProposalType())
    25  
    26  	tests := []struct {
    27  		name   string
    28  		drp    DelistProposal
    29  		result bool
    30  	}{
    31  		{"delist-proposal", proposal, true},
    32  
    33  		{"no-title", DelistProposal{"", "delist proposal", addr, "eth", "btc"}, false},
    34  		{"no-description", DelistProposal{"proposal", "", addr, "eth", "btc"}, false},
    35  		{"no-proposer", DelistProposal{"proposal", "delist proposal", nil, "eth", "btc"}, false},
    36  		{"no-product", DelistProposal{"proposal", "delist proposal", addr, "btc", "btc"}, false},
    37  
    38  		{"long-title", DelistProposal{getLongString(15),
    39  			"right delist proposal", addr, "eth", "btc"}, false},
    40  		{"long-description", DelistProposal{"proposal",
    41  			getLongString(501), addr, "eth", "btc"}, false},
    42  	}
    43  	for _, tt := range tests {
    44  		t.Run(tt.name, func(t *testing.T) {
    45  
    46  			if tt.result {
    47  				require.Nil(t, tt.drp.ValidateBasic(), "test: %v", tt.name)
    48  			} else {
    49  				require.NotNil(t, tt.drp.ValidateBasic(), "test: %v", tt.name)
    50  			}
    51  		})
    52  	}
    53  }
    54  
    55  func getLongString(n int) (s string) {
    56  	str := "0123456789"
    57  	for i := 0; i < n; i++ {
    58  		s = fmt.Sprintf("%s%s", s, str)
    59  	}
    60  	fmt.Println(len(s))
    61  	return s
    62  }