got basic delegation tests working
This commit is contained in:
parent
f4f39ae03f
commit
8e378e2b2d
|
@ -8,8 +8,8 @@ import (
|
|||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestWithdrawDelegationReward(t *testing.T) {
|
||||
ctx, accMapper, keeper, sk, fck := CreateTestInputDefault(t, false, 100)
|
||||
func TestWithdrawDelegationRewardBasic(t *testing.T) {
|
||||
ctx, accMapper, keeper, sk, fck := CreateTestInputAdvanced(t, false, 100, sdk.ZeroDec())
|
||||
stakeHandler := stake.NewHandler(sk)
|
||||
denom := sk.GetParams(ctx).BondDenom
|
||||
|
||||
|
@ -23,18 +23,31 @@ func TestWithdrawDelegationReward(t *testing.T) {
|
|||
msgDelegate := stake.NewTestMsgDelegate(delAddr1, valOpAddr1, 10)
|
||||
got = stakeHandler(ctx, msgDelegate)
|
||||
require.True(t, got.IsOK())
|
||||
|
||||
amt := accMapper.GetAccount(ctx, delAddr1).GetCoins().AmountOf(denom)
|
||||
require.Equal(t, int64(90), amt.Int64())
|
||||
|
||||
feeInputs := sdk.NewInt(20)
|
||||
totalPower := int64(20)
|
||||
totalPowerDec := sdk.NewDec(totalPower)
|
||||
|
||||
// allocate 100 denom of fees
|
||||
feeInputs := sdk.NewInt(100)
|
||||
fck.SetCollectedFees(sdk.Coins{sdk.NewCoin(denom, feeInputs)})
|
||||
require.Equal(t, feeInputs, fck.GetCollectedFees(ctx).AmountOf(denom))
|
||||
keeper.SetProposerConsAddr(ctx, valConsAddr1)
|
||||
keeper.SetSumPrecommitPower(ctx, totalPowerDec)
|
||||
keeper.AllocateFees(ctx)
|
||||
|
||||
// withdraw delegation
|
||||
ctx = ctx.WithBlockHeight(1)
|
||||
keeper.WithdrawDelegationReward(ctx, delAddr1, valOpAddr1)
|
||||
|
||||
amt = accMapper.GetAccount(ctx, delAddr1).GetCoins().AmountOf(denom)
|
||||
require.Equal(t, int64(100), amt.Int64())
|
||||
|
||||
expRes := sdk.NewDec(90).Add(sdk.NewDec(100).Quo(sdk.NewDec(2))) // 90 + 100 tokens * 10/20
|
||||
require.True(sdk.DecEq(t, expRes, sdk.NewDecFromInt(amt)))
|
||||
}
|
||||
|
||||
func TestWithdrawDelegationRewardWithCommission(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestWithdrawDelegationRewardsAll(t *testing.T) {
|
||||
|
|
Loading…
Reference in New Issue