github.com/KiraCore/sekai@v0.3.43/x/tokens/keeper/rate_test.go (about) 1 package keeper_test 2 3 import ( 4 "github.com/KiraCore/sekai/x/tokens/types" 5 sdk "github.com/cosmos/cosmos-sdk/types" 6 ) 7 8 func (suite *KeeperTestSuite) TestTokenRates() { 9 suite.SetupTest() 10 ctx := suite.ctx 11 12 // check initial token rate before registration 13 rate := suite.app.TokensKeeper.GetTokenRate(ctx, "stake") 14 suite.Require().Nil(rate) 15 rates := suite.app.TokensKeeper.GetAllTokenRates(ctx) 16 suite.Require().Len(rates, 4) 17 rateMap := suite.app.TokensKeeper.GetTokenRatesByDenom(ctx, []string{"stake"}) 18 suite.Require().Equal(len(rateMap), 0) 19 suite.Require().Nil(rateMap["stake"]) 20 21 // upsert token rate and check 22 newRate := types.TokenRate{ 23 Denom: "stake", 24 FeeRate: sdk.NewDec(2), 25 FeePayments: true, 26 } 27 suite.app.TokensKeeper.UpsertTokenRate(ctx, newRate) 28 rate = suite.app.TokensKeeper.GetTokenRate(ctx, "stake") 29 suite.Require().NotNil(rate) 30 rates = suite.app.TokensKeeper.GetAllTokenRates(ctx) 31 suite.Require().Len(rates, 5) 32 rateMap = suite.app.TokensKeeper.GetTokenRatesByDenom(ctx, []string{"stake"}) 33 suite.Require().Equal(len(rateMap), 1) 34 suite.Require().NotNil(rateMap["stake"]) 35 36 // delete token rate and check 37 suite.app.TokensKeeper.DeleteTokenRate(ctx, "stake") 38 rate = suite.app.TokensKeeper.GetTokenRate(ctx, "stake") 39 suite.Require().Nil(rate) 40 rates = suite.app.TokensKeeper.GetAllTokenRates(ctx) 41 suite.Require().Len(rates, 4) 42 rateMap = suite.app.TokensKeeper.GetTokenRatesByDenom(ctx, []string{"stake"}) 43 suite.Require().Equal(len(rateMap), 0) 44 suite.Require().Nil(rateMap["stake"]) 45 }