github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/auth/keeper/keeper_test.go (about) 1 package keeper_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 9 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/types" 10 ) 11 12 func TestAccountMapperGetSet(t *testing.T) { 13 app, ctx := createTestApp(true) 14 addr := sdk.AccAddress([]byte("some-address")) 15 16 // no account before its created 17 acc := app.AccountKeeper.GetAccount(ctx, addr) 18 require.Nil(t, acc) 19 20 // create account and check default values 21 acc = app.AccountKeeper.NewAccountWithAddress(ctx, addr) 22 require.NotNil(t, acc) 23 require.Equal(t, addr, acc.GetAddress()) 24 require.EqualValues(t, nil, acc.GetPubKey()) 25 require.EqualValues(t, 0, acc.GetSequence()) 26 27 // NewAccount doesn't call Set, so it's still nil 28 require.Nil(t, app.AccountKeeper.GetAccount(ctx, addr)) 29 30 // set some values on the account and save it 31 newSequence := uint64(20) 32 acc.SetSequence(newSequence) 33 app.AccountKeeper.SetAccount(ctx, acc) 34 35 // check the new values 36 acc = app.AccountKeeper.GetAccount(ctx, addr) 37 require.NotNil(t, acc) 38 require.Equal(t, newSequence, acc.GetSequence()) 39 } 40 41 func TestAccountMapperRemoveAccount(t *testing.T) { 42 app, ctx := createTestApp(true) 43 addr1 := sdk.AccAddress([]byte("addr1")) 44 addr2 := sdk.AccAddress([]byte("addr2")) 45 46 // create accounts 47 acc1 := app.AccountKeeper.NewAccountWithAddress(ctx, addr1) 48 acc2 := app.AccountKeeper.NewAccountWithAddress(ctx, addr2) 49 50 accSeq1 := uint64(20) 51 accSeq2 := uint64(40) 52 53 acc1.SetSequence(accSeq1) 54 acc2.SetSequence(accSeq2) 55 app.AccountKeeper.SetAccount(ctx, acc1) 56 app.AccountKeeper.SetAccount(ctx, acc2) 57 58 acc1 = app.AccountKeeper.GetAccount(ctx, addr1) 59 require.NotNil(t, acc1) 60 require.Equal(t, accSeq1, acc1.GetSequence()) 61 62 // remove one account 63 app.AccountKeeper.RemoveAccount(ctx, acc1) 64 acc1 = app.AccountKeeper.GetAccount(ctx, addr1) 65 require.Nil(t, acc1) 66 67 acc2 = app.AccountKeeper.GetAccount(ctx, addr2) 68 require.NotNil(t, acc2) 69 require.Equal(t, accSeq2, acc2.GetSequence()) 70 } 71 72 func TestGetSetParams(t *testing.T) { 73 app, ctx := createTestApp(true) 74 params := types.DefaultParams() 75 76 app.AccountKeeper.SetParams(ctx, params) 77 78 actualParams := app.AccountKeeper.GetParams(ctx) 79 require.Equal(t, params, actualParams) 80 }