github.com/Finschia/finschia-sdk@v0.48.1/x/distribution/simulation/proposals_test.go (about) 1 package simulation_test 2 3 import ( 4 "math/rand" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 tmproto "github.com/tendermint/tendermint/proto/tendermint/types" 9 10 "github.com/Finschia/finschia-sdk/simapp" 11 simappparams "github.com/Finschia/finschia-sdk/simapp/params" 12 sdk "github.com/Finschia/finschia-sdk/types" 13 simtypes "github.com/Finschia/finschia-sdk/types/simulation" 14 "github.com/Finschia/finschia-sdk/x/distribution/simulation" 15 ) 16 17 func TestProposalContents(t *testing.T) { 18 app := simapp.Setup(false) 19 ctx := app.BaseApp.NewContext(false, tmproto.Header{}) 20 21 // initialize parameters 22 s := rand.NewSource(1) 23 r := rand.New(s) 24 25 accounts := simtypes.RandomAccounts(r, 3) 26 27 // execute ProposalContents function 28 weightedProposalContent := simulation.ProposalContents(app.DistrKeeper) 29 require.Len(t, weightedProposalContent, 1) 30 31 w0 := weightedProposalContent[0] 32 33 // tests w0 interface: 34 require.Equal(t, simulation.OpWeightSubmitCommunitySpendProposal, w0.AppParamsKey()) 35 require.Equal(t, simappparams.DefaultWeightTextProposal, w0.DefaultWeight()) 36 37 amount := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1)), sdk.NewCoin("atoken", sdk.NewInt(2))) 38 39 feePool := app.DistrKeeper.GetFeePool(ctx) 40 feePool.CommunityPool = sdk.NewDecCoinsFromCoins(amount...) 41 app.DistrKeeper.SetFeePool(ctx, feePool) 42 43 content := w0.ContentSimulatorFn()(r, ctx, accounts) 44 45 require.Equal(t, "sTxPjfweXhSUkMhPjMaxKlMIJMOXcnQfyzeOcbWwNbeHVIkPZBSpYuLyYggwexjxusrBqDOTtGTOWeLrQKjLxzIivHSlcxgdXhhu", content.GetDescription()) 46 require.Equal(t, "xKGLwQvuyN", content.GetTitle()) 47 require.Equal(t, "distribution", content.ProposalRoute()) 48 require.Equal(t, "CommunityPoolSpend", content.ProposalType()) 49 }