github.com/Finschia/finschia-sdk@v0.48.1/types/config_test.go (about)

     1  package types_test
     2  
     3  import (
     4  	"errors"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/suite"
     8  
     9  	sdk "github.com/Finschia/finschia-sdk/types"
    10  )
    11  
    12  type configTestSuite struct {
    13  	suite.Suite
    14  }
    15  
    16  func TestConfigTestSuite(t *testing.T) {
    17  	suite.Run(t, new(configTestSuite))
    18  }
    19  
    20  func (s *contextTestSuite) TestConfig_SetPurpose() {
    21  	config := sdk.NewConfig()
    22  	config.SetPurpose(44)
    23  	s.Require().Equal(uint32(44), config.GetPurpose())
    24  
    25  	config.SetPurpose(0)
    26  	s.Require().Equal(uint32(0), config.GetPurpose())
    27  
    28  	config.Seal()
    29  	s.Require().Panics(func() { config.SetPurpose(10) })
    30  }
    31  
    32  func (s *configTestSuite) TestConfig_SetCoinType() {
    33  	config := sdk.NewConfig()
    34  	config.SetCoinType(1)
    35  	s.Require().Equal(uint32(1), config.GetCoinType())
    36  	config.SetCoinType(99)
    37  	s.Require().Equal(uint32(99), config.GetCoinType())
    38  
    39  	config.Seal()
    40  	s.Require().Panics(func() { config.SetCoinType(99) })
    41  }
    42  
    43  func (s *configTestSuite) TestConfig_SetTxEncoder() {
    44  	mockErr := errors.New("test")
    45  	config := sdk.NewConfig()
    46  	s.Require().Nil(config.GetTxEncoder())
    47  	encFunc := sdk.TxEncoder(func(tx sdk.Tx) ([]byte, error) { return nil, nil })
    48  	config.SetTxEncoder(encFunc)
    49  	_, err := config.GetTxEncoder()(sdk.Tx(nil))
    50  	s.Require().Error(mockErr, err)
    51  
    52  	config.Seal()
    53  	s.Require().Panics(func() { config.SetTxEncoder(encFunc) })
    54  }
    55  
    56  func (s *configTestSuite) TestConfig_SetFullFundraiserPath() {
    57  	config := sdk.NewConfig()
    58  	config.SetFullFundraiserPath("test/path")
    59  	s.Require().Equal("test/path", config.GetFullFundraiserPath())
    60  
    61  	config.SetFullFundraiserPath("test/poth")
    62  	s.Require().Equal("test/poth", config.GetFullFundraiserPath())
    63  
    64  	config.Seal()
    65  	s.Require().Panics(func() { config.SetFullFundraiserPath("x/test/path") })
    66  }
    67  
    68  func (s *configTestSuite) TestKeyringServiceName() {
    69  	s.Require().Equal(sdk.DefaultKeyringServiceName, sdk.KeyringServiceName())
    70  }