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  }