package evmutil_test import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/suite" "github.com/kava-labs/kava/x/evmutil" "github.com/kava-labs/kava/x/evmutil/testutil" "github.com/kava-labs/kava/x/evmutil/types" ) type genesisTestSuite struct { testutil.Suite } func (suite *genesisTestSuite) SetupTest() { suite.Suite.SetupTest() } func (s *genesisTestSuite) TestInitGenesis_SetAccounts() { gs := types.NewGenesisState([]types.Account{ {Address: s.Addrs[0], Balance: sdk.NewInt(100)}, }) accounts := s.Keeper.GetAllAccounts(s.Ctx) s.Require().Len(accounts, 0) evmutil.InitGenesis(s.Ctx, s.Keeper, gs) accounts = s.Keeper.GetAllAccounts(s.Ctx) s.Require().Len(accounts, 1) account := s.Keeper.GetAccount(s.Ctx, s.Addrs[0]) s.Require().Equal(account.Address, s.Addrs[0]) s.Require().Equal(account.Balance, sdk.NewInt(100)) } func (s *genesisTestSuite) TestInitGenesis_ValidateFail() { gs := types.NewGenesisState([]types.Account{ {Address: s.Addrs[0], Balance: sdk.NewInt(-100)}, }) s.Require().Panics(func() { evmutil.InitGenesis(s.Ctx, s.Keeper, gs) }) } func (s *genesisTestSuite) TestExportGenesis() { accounts := []types.Account{ {Address: s.Addrs[0], Balance: sdk.NewInt(10)}, {Address: s.Addrs[1], Balance: sdk.NewInt(20)}, } for _, account := range accounts { s.Keeper.SetAccount(s.Ctx, account) } gs := evmutil.ExportGenesis(s.Ctx, s.Keeper) s.Require().Equal(gs.Accounts, accounts) } func TestGenesisTestSuite(t *testing.T) { suite.Run(t, new(genesisTestSuite)) }