planetmint-go/x/dao/keeper/challenge_test.go
Lorenz Herzberger 975a1005b0
test: add additonal validatorPopReward reallocation test (#436)
* test: add additonal validatorPopReward reallocation test
* fix: linter & staticcheck errors
---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2024-09-10 09:13:20 +02:00

55 lines
1.8 KiB
Go

package keeper_test
import (
"fmt"
"testing"
keepertest "github.com/planetmint/planetmint-go/testutil/keeper"
"github.com/stretchr/testify/assert"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/planetmint/planetmint-go/x/dao/keeper"
"github.com/planetmint/planetmint-go/x/dao/types"
)
// this method returns a range of challenges, each with a blockheight * PopEpochs.
// be aware: the first element start with 1 instead of 0
func createNChallenge(keeper *keeper.Keeper, ctx sdk.Context, n int, popEpochs int64) []types.Challenge {
items := make([]types.Challenge, n)
for i := range items {
blockHeight := int64(i+1) * popEpochs
items[i].Height = blockHeight
items[i].Initiator = fmt.Sprintf("initiator%v", blockHeight)
items[i].Challenger = fmt.Sprintf("challenger%v", blockHeight)
items[i].Challengee = fmt.Sprintf("challengee%v", blockHeight)
items[i].Success = false
items[i].Finished = false
keeper.StoreChallenge(ctx, items[i])
keeper.StoreChallangeInitiatorReward(ctx, blockHeight, types.DefaultParams().ValidatorPopReward)
}
return items
}
func TestGetChallenge(t *testing.T) {
t.Parallel()
popEpochs := types.DefaultGenesis().GetParams().PopEpochs
keeper, ctx := keepertest.DaoKeeper(t)
items := createNChallenge(keeper, ctx, 10, popEpochs)
for _, item := range items {
challenge, found := keeper.LookupChallenge(ctx, item.Height)
assert.True(t, found)
assert.Equal(t, item, challenge)
}
}
func TestGetChallengeRange(t *testing.T) {
t.Parallel()
popEpochs := types.DefaultGenesis().GetParams().PopEpochs
keeper, ctx := keepertest.DaoKeeper(t)
createNChallenge(keeper, ctx, 10, popEpochs)
challenges, err := keeper.GetChallengeRange(ctx, (0+1)*popEpochs, (9+1)*popEpochs)
assert.NoError(t, err)
assert.Equal(t, 10, len(challenges))
}