Merge PR #6767: x/distribution/simulation/proposals.go: add unit tests
This commit is contained in:
parent
e59781eca7
commit
6b5733918b
|
@ -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())
|
||||||
|
}
|
Loading…
Reference in New Issue