github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/token/module_test.go (about)

     1  package token
     2  
     3  import (
     4  	"github.com/fibonacci-chain/fbc/x/common"
     5  	"testing"
     6  
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
     8  
     9  	cliLcd "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/lcd"
    10  	abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types"
    11  	"github.com/fibonacci-chain/fbc/x/common/version"
    12  	"github.com/fibonacci-chain/fbc/x/token/types"
    13  	"github.com/stretchr/testify/require"
    14  )
    15  
    16  func TestAppModule_InitGenesis(t *testing.T) {
    17  	common.InitConfig()
    18  	app, tokenKeeper, _ := getMockDexAppEx(t, 0)
    19  	module := NewAppModule(version.ProtocolVersionV0, tokenKeeper, app.supplyKeeper)
    20  	ctx := app.NewContext(true, abci.Header{})
    21  	gs := defaultGenesisState()
    22  	gs.Tokens = nil
    23  	gsJSON := types.ModuleCdc.MustMarshalJSON(gs)
    24  
    25  	err := module.ValidateGenesis(gsJSON)
    26  	require.NoError(t, err)
    27  
    28  	vu := module.InitGenesis(ctx, gsJSON)
    29  	params := tokenKeeper.GetParams(ctx)
    30  	require.Equal(t, gs.Params, params)
    31  	require.Equal(t, vu, []abci.ValidatorUpdate{})
    32  
    33  	export := module.ExportGenesis(ctx)
    34  	require.EqualValues(t, gsJSON, []byte(export))
    35  
    36  	require.EqualValues(t, types.ModuleName, module.Name())
    37  	require.EqualValues(t, types.ModuleName, module.AppModuleBasic.Name())
    38  	require.EqualValues(t, types.RouterKey, module.Route())
    39  	require.EqualValues(t, types.QuerierRoute, module.QuerierRoute())
    40  	module.NewHandler()
    41  	module.GetQueryCmd(app.Cdc.GetCdc())
    42  	module.GetTxCmd(app.Cdc.GetCdc())
    43  	module.NewQuerierHandler()
    44  	rs := cliLcd.NewRestServer(app.Cdc, nil, nil)
    45  	module.RegisterRESTRoutes(rs.CliCtx, rs.Mux)
    46  	module.BeginBlock(ctx, abci.RequestBeginBlock{})
    47  	module.EndBlock(ctx, abci.RequestEndBlock{})
    48  	module.DefaultGenesis()
    49  	module.RegisterCodec(codec.New())
    50  
    51  	gsJSON = []byte("[[],{}]")
    52  	err = module.ValidateGenesis(gsJSON)
    53  	require.NotNil(t, err)
    54  }