github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/distribution/keeper/hooks_test.go (about) 1 package keeper 2 3 import ( 4 "testing" 5 6 "github.com/fibonacci-chain/fbc/x/distribution/types" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestHooks(t *testing.T) { 11 ctx, ak, k, _, supplyKeeper := CreateTestInputDefault(t, false, 1000) 12 hook := k.Hooks() 13 14 // test AfterValidatorCreated 15 hook.AfterValidatorCreated(ctx, valOpAddr1) 16 require.True(t, k.GetValidatorAccumulatedCommission(ctx, valOpAddr1).IsZero()) 17 18 // test AfterValidatorRemoved 19 acc := ak.GetAccount(ctx, supplyKeeper.GetModuleAddress(types.ModuleName)) 20 err := acc.SetCoins(NewTestSysCoins(123, 2)) 21 require.NoError(t, err) 22 ak.SetAccount(ctx, acc) 23 k.SetValidatorAccumulatedCommission(ctx, valOpAddr1, NewTestSysCoins(123, 2)) 24 k.SetValidatorOutstandingRewards(ctx, valOpAddr1, NewTestSysCoins(123, 2)) 25 hook.AfterValidatorRemoved(ctx, nil, valOpAddr1) 26 require.True(t, ctx.KVStore(k.storeKey).Get(valOpAddr1) == nil) 27 28 // test to promote the coverage 29 hook.AfterValidatorDestroyed(ctx, valConsAddr1, valOpAddr1) 30 hook.BeforeValidatorModified(ctx, valOpAddr1) 31 hook.AfterValidatorBonded(ctx, valConsAddr1, valOpAddr1) 32 hook.AfterValidatorBeginUnbonding(ctx, valConsAddr1, valOpAddr1) 33 }