github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/sdk/bank/common_test.go (about)

     1  package bank
     2  
     3  // DONTCOVER
     4  
     5  import (
     6  	bft "github.com/gnolang/gno/tm2/pkg/bft/types"
     7  	"github.com/gnolang/gno/tm2/pkg/db/memdb"
     8  	"github.com/gnolang/gno/tm2/pkg/log"
     9  
    10  	"github.com/gnolang/gno/tm2/pkg/sdk"
    11  	"github.com/gnolang/gno/tm2/pkg/sdk/auth"
    12  	"github.com/gnolang/gno/tm2/pkg/std"
    13  	"github.com/gnolang/gno/tm2/pkg/store"
    14  	"github.com/gnolang/gno/tm2/pkg/store/iavl"
    15  )
    16  
    17  type testEnv struct {
    18  	ctx  sdk.Context
    19  	bank BankKeeper
    20  	acck auth.AccountKeeper
    21  }
    22  
    23  func setupTestEnv() testEnv {
    24  	db := memdb.NewMemDB()
    25  
    26  	authCapKey := store.NewStoreKey("authCapKey")
    27  
    28  	ms := store.NewCommitMultiStore(db)
    29  	ms.MountStoreWithDB(authCapKey, iavl.StoreConstructor, db)
    30  	ms.LoadLatestVersion()
    31  
    32  	ctx := sdk.NewContext(sdk.RunTxModeDeliver, ms, &bft.Header{ChainID: "test-chain-id"}, log.NewNoopLogger())
    33  	acck := auth.NewAccountKeeper(
    34  		authCapKey, std.ProtoBaseAccount,
    35  	)
    36  
    37  	bank := NewBankKeeper(acck)
    38  
    39  	return testEnv{ctx: ctx, bank: bank, acck: acck}
    40  }