got basic delegation tests working

This commit is contained in:
rigelrozanski 2018-10-11 02:14:06 -04:00
parent f4f39ae03f
commit 8e378e2b2d
1 changed files with 19 additions and 6 deletions

View File

@ -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) {