Merge PR #6767: x/distribution/simulation/proposals.go: add unit tests

This commit is contained in:
dauTT 2020-07-18 18:19:00 +02:00 committed by GitHub
parent e59781eca7
commit 6b5733918b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,49 @@
package simulation_test
import (
"math/rand"
"testing"
"github.com/stretchr/testify/require"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/cosmos/cosmos-sdk/simapp"
simappparams "github.com/cosmos/cosmos-sdk/simapp/params"
sdk "github.com/cosmos/cosmos-sdk/types"
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
"github.com/cosmos/cosmos-sdk/x/distribution/simulation"
)
func TestProposalContents(t *testing.T) {
app := simapp.Setup(false)
ctx := app.BaseApp.NewContext(false, abci.Header{})
// initialize parameters
s := rand.NewSource(1)
r := rand.New(s)
accounts := simtypes.RandomAccounts(r, 3)
// execute ProposalContents function
weightedProposalContent := simulation.ProposalContents(app.DistrKeeper)
require.Len(t, weightedProposalContent, 1)
w0 := weightedProposalContent[0]
// tests w0 interface:
require.Equal(t, simulation.OpWeightSubmitCommunitySpendProposal, w0.AppParamsKey())
require.Equal(t, simappparams.DefaultWeightTextProposal, w0.DefaultWeight())
amount := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1)), sdk.NewCoin("atoken", sdk.NewInt(2)))
feePool := app.DistrKeeper.GetFeePool(ctx)
feePool.CommunityPool = sdk.NewDecCoinsFromCoins(amount...)
app.DistrKeeper.SetFeePool(ctx, feePool)
content := w0.ContentSimulatorFn()(r, ctx, accounts)
require.Equal(t, "sTxPjfweXhSUkMhPjMaxKlMIJMOXcnQfyzeOcbWwNbeHVIkPZBSpYuLyYggwexjxusrBqDOTtGTOWeLrQKjLxzIivHSlcxgdXhhu", content.GetDescription())
require.Equal(t, "xKGLwQvuyN", content.GetTitle())
require.Equal(t, "distribution", content.ProposalRoute())
require.Equal(t, "CommunityPoolSpend", content.ProposalType())
}