github.com/KiraCore/sekai@v0.3.43/x/tokens/keeper/grpc_query_test.go (about)

     1  package keeper_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	simapp "github.com/KiraCore/sekai/app"
     7  	"github.com/KiraCore/sekai/x/tokens/keeper"
     8  	"github.com/KiraCore/sekai/x/tokens/types"
     9  	tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
    10  	sdk "github.com/cosmos/cosmos-sdk/types"
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func TestQuerier_GetTokenAlias(t *testing.T) {
    15  	app := simapp.Setup(false)
    16  	ctx := app.NewContext(false, tmproto.Header{})
    17  
    18  	querier := keeper.NewQuerier(app.TokensKeeper)
    19  
    20  	resp, err := querier.GetTokenAlias(
    21  		sdk.WrapSDKContext(ctx),
    22  		&types.TokenAliasRequest{Symbol: "KEX"},
    23  	)
    24  	require.NoError(t, err)
    25  	require.Equal(t, "KEX", resp.Data.Symbol)
    26  	require.Equal(t, "Kira", resp.Data.Name)
    27  	require.Equal(t, "", resp.Data.Icon)
    28  	require.Equal(t, uint32(0x6), resp.Data.Decimals)
    29  	require.Equal(t, []string{"ukex", "mkex"}, resp.Data.Denoms)
    30  }
    31  
    32  func TestQuerier_GetTokenAliasesByDenom(t *testing.T) {
    33  	app := simapp.Setup(false)
    34  	ctx := app.NewContext(false, tmproto.Header{})
    35  
    36  	querier := keeper.NewQuerier(app.TokensKeeper)
    37  
    38  	resp, err := querier.GetTokenAliasesByDenom(
    39  		sdk.WrapSDKContext(ctx),
    40  		&types.TokenAliasesByDenomRequest{Denoms: []string{"ukex"}},
    41  	)
    42  	require.NoError(t, err)
    43  	require.Equal(t, len(resp.Data), 1)
    44  	require.Equal(t, "KEX", resp.Data["ukex"].Symbol)
    45  	require.Equal(t, "Kira", resp.Data["ukex"].Name)
    46  	require.Equal(t, "", resp.Data["ukex"].Icon)
    47  	require.Equal(t, uint32(0x6), resp.Data["ukex"].Decimals)
    48  	require.Equal(t, []string{"ukex", "mkex"}, resp.Data["ukex"].Denoms)
    49  }
    50  
    51  func TestQuerier_GetAllTokenAliases(t *testing.T) {
    52  	app := simapp.Setup(false)
    53  	ctx := app.NewContext(false, tmproto.Header{})
    54  
    55  	querier := keeper.NewQuerier(app.TokensKeeper)
    56  
    57  	resp, err := querier.GetAllTokenAliases(
    58  		sdk.WrapSDKContext(ctx),
    59  		&types.AllTokenAliasesRequest{},
    60  	)
    61  	require.NoError(t, err)
    62  	require.Equal(t, len(resp.Data), 1)
    63  	require.Equal(t, "KEX", resp.Data[0].Symbol)
    64  	require.Equal(t, "Kira", resp.Data[0].Name)
    65  	require.Equal(t, "", resp.Data[0].Icon)
    66  	require.Equal(t, uint32(0x6), resp.Data[0].Decimals)
    67  	require.Equal(t, []string{"ukex", "mkex"}, resp.Data[0].Denoms)
    68  }
    69  
    70  func TestQuerier_GetTokenRate(t *testing.T) {
    71  	app := simapp.Setup(false)
    72  	ctx := app.NewContext(false, tmproto.Header{})
    73  
    74  	querier := keeper.NewQuerier(app.TokensKeeper)
    75  
    76  	resp, err := querier.GetTokenRate(
    77  		sdk.WrapSDKContext(ctx),
    78  		&types.TokenRateRequest{Denom: "ukex"},
    79  	)
    80  	require.NoError(t, err)
    81  	require.Equal(t, "ukex", resp.Data.Denom)
    82  	require.Equal(t, sdk.NewDec(1), resp.Data.FeeRate)
    83  	require.Equal(t, true, resp.Data.FeePayments)
    84  }
    85  
    86  func TestQuerier_GetTokenRatesByDenom(t *testing.T) {
    87  	app := simapp.Setup(false)
    88  	ctx := app.NewContext(false, tmproto.Header{})
    89  
    90  	querier := keeper.NewQuerier(app.TokensKeeper)
    91  
    92  	resp, err := querier.GetTokenRatesByDenom(
    93  		sdk.WrapSDKContext(ctx),
    94  		&types.TokenRatesByDenomRequest{Denoms: []string{"ukex"}},
    95  	)
    96  	require.NoError(t, err)
    97  	require.Equal(t, len(resp.Data), 1)
    98  	require.Equal(t, "ukex", resp.Data["ukex"].Denom)
    99  	require.Equal(t, sdk.NewDec(1), resp.Data["ukex"].FeeRate)
   100  	require.Equal(t, true, resp.Data["ukex"].FeePayments)
   101  }
   102  
   103  func TestQuerier_GetAllTokenRates(t *testing.T) {
   104  	app := simapp.Setup(false)
   105  	ctx := app.NewContext(false, tmproto.Header{})
   106  
   107  	querier := keeper.NewQuerier(app.TokensKeeper)
   108  
   109  	resp, err := querier.GetAllTokenRates(
   110  		sdk.WrapSDKContext(ctx),
   111  		&types.AllTokenRatesRequest{},
   112  	)
   113  	require.NoError(t, err)
   114  	require.Equal(t, len(resp.Data), 4)
   115  	require.Equal(t, "frozen", resp.Data[0].Denom)
   116  	require.Equal(t, sdk.NewDecWithPrec(1, 1), resp.Data[0].FeeRate)
   117  	require.Equal(t, true, resp.Data[0].FeePayments)
   118  }
   119  
   120  func TestQuerier_GetTokenBlackWhites(t *testing.T) {
   121  	app := simapp.Setup(false)
   122  	ctx := app.NewContext(false, tmproto.Header{})
   123  
   124  	querier := keeper.NewQuerier(app.TokensKeeper)
   125  
   126  	resp, err := querier.GetTokenBlackWhites(
   127  		sdk.WrapSDKContext(ctx),
   128  		&types.TokenBlackWhitesRequest{},
   129  	)
   130  	require.NoError(t, err)
   131  	require.Equal(t, resp.Data.Blacklisted, []string{"frozen"})
   132  	require.Equal(t, resp.Data.Whitelisted, []string{"ukex"})
   133  }