github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/erc20/keeper/params_test.go (about) 1 package keeper_test 2 3 import ( 4 "errors" 5 6 erc20Keeper "github.com/fibonacci-chain/fbc/x/erc20/keeper" 7 "github.com/fibonacci-chain/fbc/x/erc20/types" 8 ) 9 10 func (suite *KeeperTestSuite) TestGetSourceChannelID() { 11 12 testCases := []struct { 13 name string 14 ibcDenom string 15 expectedError error 16 postCheck func(channelID string) 17 }{ 18 { 19 "wrong ibc denom", 20 "test", 21 errors.New("ibc denom is invalid: test is invalid"), 22 func(channelID string) {}, 23 }, 24 { 25 "correct ibc denom", 26 IbcDenom, 27 nil, 28 func(channelID string) { 29 suite.Require().Equal(channelID, "channel-0") 30 }, 31 }, 32 } 33 34 for _, tc := range testCases { 35 suite.Run(tc.name, func() { 36 suite.SetupTest() // reset 37 // Create erc20 Keeper with mock transfer keeper 38 erc20Keeper := erc20Keeper.NewKeeper( 39 suite.app.Codec(), 40 suite.app.GetKey(types.StoreKey), 41 suite.app.GetSubspace(types.ModuleName), 42 suite.app.AccountKeeper, 43 suite.app.SupplyKeeper, 44 suite.app.BankKeeper, 45 suite.app.EvmKeeper, 46 IbcKeeperMock{}, 47 ) 48 suite.app.Erc20Keeper = erc20Keeper 49 50 channelId, err := suite.app.Erc20Keeper.GetSourceChannelID(suite.ctx, tc.ibcDenom) 51 if tc.expectedError != nil { 52 suite.Require().EqualError(err, tc.expectedError.Error()) 53 } else { 54 suite.Require().NoError(err) 55 tc.postCheck(channelId) 56 } 57 }) 58 } 59 }