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

     1  package gov
     2  
     3  import (
     4  	"testing"
     5  
     6  	fbexchaincodec "github.com/fibonacci-chain/fbc/app/codec"
     7  	interfacetypes "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec/types"
     8  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/module"
     9  	ibctransfer "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/transfer"
    10  	ibc "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core"
    11  
    12  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context"
    13  	cliLcd "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/lcd"
    14  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
    15  	abci "github.com/fibonacci-chain/fbc/libs/tendermint/abci/types"
    16  	"github.com/fibonacci-chain/fbc/x/gov/client"
    17  	"github.com/fibonacci-chain/fbc/x/gov/client/rest"
    18  	"github.com/fibonacci-chain/fbc/x/gov/keeper"
    19  	"github.com/fibonacci-chain/fbc/x/gov/types"
    20  	"github.com/spf13/cobra"
    21  	"github.com/stretchr/testify/require"
    22  )
    23  
    24  func TestAppModule_BeginBlock(t *testing.T) {
    25  
    26  }
    27  
    28  func getCmdSubmitProposal(proxy *codec.CodecProxy, reg interfacetypes.InterfaceRegistry) *cobra.Command {
    29  	return &cobra.Command{}
    30  }
    31  
    32  func proposalRESTHandler(cliCtx context.CLIContext) rest.ProposalRESTHandler {
    33  	return rest.ProposalRESTHandler{}
    34  }
    35  
    36  func TestNewAppModuleBasic(t *testing.T) {
    37  	ctx, _, gk, _, crisisKeeper := keeper.CreateTestInput(t, false, 1000)
    38  
    39  	moduleBasic := NewAppModuleBasic(client.ProposalHandler{
    40  		CLIHandler:  getCmdSubmitProposal,
    41  		RESTHandler: proposalRESTHandler,
    42  	})
    43  
    44  	require.Equal(t, types.ModuleName, moduleBasic.Name())
    45  
    46  	cdc := codec.New()
    47  	ModuleBasics := module.NewBasicManager(
    48  		ibc.AppModuleBasic{},
    49  		ibctransfer.AppModuleBasic{},
    50  	)
    51  	//cdc := fbexchaincodec.MakeCodec(ModuleBasics)
    52  	interfaceReg := fbexchaincodec.MakeIBC(ModuleBasics)
    53  	protoCodec := codec.NewProtoCodec(interfaceReg)
    54  	codecProxy := codec.NewCodecProxy(protoCodec, cdc)
    55  
    56  	moduleBasic.RegisterCodec(cdc)
    57  	bz, err := cdc.MarshalBinaryBare(types.MsgSubmitProposal{})
    58  	require.NotNil(t, bz)
    59  	require.Nil(t, err)
    60  
    61  	jsonMsg := moduleBasic.DefaultGenesis()
    62  	err = moduleBasic.ValidateGenesis(jsonMsg)
    63  	require.Nil(t, err)
    64  	err = moduleBasic.ValidateGenesis(jsonMsg[:len(jsonMsg)-1])
    65  	require.NotNil(t, err)
    66  
    67  	rs := cliLcd.NewRestServer(codecProxy, interfaceReg, nil)
    68  	moduleBasic.RegisterRESTRoutes(rs.CliCtx, rs.Mux)
    69  
    70  	// todo: check diff after GetTxCmd
    71  	moduleBasic.GetTxCmd(cdc)
    72  
    73  	// todo: check diff after GetQueryCmd
    74  	moduleBasic.GetQueryCmd(cdc)
    75  
    76  	appModule := NewAppModule(gk, gk.SupplyKeeper())
    77  	require.Equal(t, types.ModuleName, appModule.Name())
    78  
    79  	// todo: check diff after RegisterInvariants
    80  	appModule.RegisterInvariants(&crisisKeeper)
    81  
    82  	require.Equal(t, types.RouterKey, appModule.Route())
    83  
    84  	require.IsType(t, NewHandler(gk), appModule.NewHandler())
    85  
    86  	require.Equal(t, types.QuerierRoute, appModule.QuerierRoute())
    87  
    88  	require.IsType(t, NewQuerier(gk), appModule.NewQuerierHandler())
    89  
    90  	require.Equal(t, []abci.ValidatorUpdate{}, appModule.InitGenesis(ctx, jsonMsg))
    91  
    92  	require.Equal(t, jsonMsg, appModule.ExportGenesis(ctx))
    93  
    94  	appModule.BeginBlock(ctx, abci.RequestBeginBlock{})
    95  
    96  	appModule.EndBlock(ctx, abci.RequestEndBlock{})
    97  }