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 }