From 6b5733918b8b539c06b2877ce22a955f53d2bbf3 Mon Sep 17 00:00:00 2001 From: dauTT Date: Sat, 18 Jul 2020 18:19:00 +0200 Subject: [PATCH] Merge PR #6767: x/distribution/simulation/proposals.go: add unit tests --- x/distribution/simulation/proposals_test.go | 49 +++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 x/distribution/simulation/proposals_test.go diff --git a/x/distribution/simulation/proposals_test.go b/x/distribution/simulation/proposals_test.go new file mode 100644 index 000000000..f49293fe8 --- /dev/null +++ b/x/distribution/simulation/proposals_test.go @@ -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()) +}