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