migrate test TestDeposits from gov to simapp
This commit is contained in:
parent
f403cda2ce
commit
3fa47df519
|
@ -0,0 +1,7 @@
|
||||||
|
package keeper_test
|
||||||
|
|
||||||
|
import "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||||
|
|
||||||
|
var (
|
||||||
|
TestProposal = types.NewTextProposal("Test", "description")
|
||||||
|
)
|
|
@ -1,4 +1,4 @@
|
||||||
package keeper
|
package keeper_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
@ -6,93 +6,99 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
abci "github.com/tendermint/tendermint/abci/types"
|
||||||
|
|
||||||
|
"github.com/cosmos/cosmos-sdk/simapp"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDeposits(t *testing.T) {
|
func TestDeposits(t *testing.T) {
|
||||||
ctx, _, bk, keeper, _, _ := createTestInput(t, false, 100)
|
app := simapp.Setup(false)
|
||||||
|
ctx := app.BaseApp.NewContext(false, abci.Header{})
|
||||||
|
|
||||||
|
TestAddrs := simapp.AddTestAddrsIncremental(app, ctx, 2, sdk.NewInt(10000000))
|
||||||
|
|
||||||
tp := TestProposal
|
tp := TestProposal
|
||||||
proposal, err := keeper.SubmitProposal(ctx, tp)
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
proposalID := proposal.ProposalID
|
proposalID := proposal.ProposalID
|
||||||
|
|
||||||
fourStake := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.TokensFromConsensusPower(4)))
|
fourStake := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.TokensFromConsensusPower(4)))
|
||||||
fiveStake := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.TokensFromConsensusPower(5)))
|
fiveStake := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.TokensFromConsensusPower(5)))
|
||||||
|
|
||||||
addr0Initial := bk.GetAllBalances(ctx, TestAddrs[0])
|
addr0Initial := app.BankKeeper.GetAllBalances(ctx, TestAddrs[0])
|
||||||
addr1Initial := bk.GetAllBalances(ctx, TestAddrs[1])
|
addr1Initial := app.BankKeeper.GetAllBalances(ctx, TestAddrs[1])
|
||||||
|
|
||||||
require.True(t, proposal.TotalDeposit.IsEqual(sdk.NewCoins()))
|
require.True(t, proposal.TotalDeposit.IsEqual(sdk.NewCoins()))
|
||||||
|
|
||||||
// Check no deposits at beginning
|
// Check no deposits at beginning
|
||||||
deposit, found := keeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
deposit, found := app.GovKeeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
||||||
require.False(t, found)
|
require.False(t, found)
|
||||||
proposal, ok := keeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
require.True(t, proposal.VotingStartTime.Equal(time.Time{}))
|
require.True(t, proposal.VotingStartTime.Equal(time.Time{}))
|
||||||
|
|
||||||
// Check first deposit
|
// Check first deposit
|
||||||
votingStarted, err := keeper.AddDeposit(ctx, proposalID, TestAddrs[0], fourStake)
|
votingStarted, err := app.GovKeeper.AddDeposit(ctx, proposalID, TestAddrs[0], fourStake)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.False(t, votingStarted)
|
require.False(t, votingStarted)
|
||||||
deposit, found = keeper.GetDeposit(ctx, proposalID, TestAddrs[0])
|
deposit, found = app.GovKeeper.GetDeposit(ctx, proposalID, TestAddrs[0])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, fourStake, deposit.Amount)
|
require.Equal(t, fourStake, deposit.Amount)
|
||||||
require.Equal(t, TestAddrs[0], deposit.Depositor)
|
require.Equal(t, TestAddrs[0], deposit.Depositor)
|
||||||
proposal, ok = keeper.GetProposal(ctx, proposalID)
|
proposal, ok = app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
require.Equal(t, fourStake, proposal.TotalDeposit)
|
require.Equal(t, fourStake, proposal.TotalDeposit)
|
||||||
require.Equal(t, addr0Initial.Sub(fourStake), bk.GetAllBalances(ctx, TestAddrs[0]))
|
require.Equal(t, addr0Initial.Sub(fourStake), app.BankKeeper.GetAllBalances(ctx, TestAddrs[0]))
|
||||||
|
|
||||||
// Check a second deposit from same address
|
// Check a second deposit from same address
|
||||||
votingStarted, err = keeper.AddDeposit(ctx, proposalID, TestAddrs[0], fiveStake)
|
votingStarted, err = app.GovKeeper.AddDeposit(ctx, proposalID, TestAddrs[0], fiveStake)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.False(t, votingStarted)
|
require.False(t, votingStarted)
|
||||||
deposit, found = keeper.GetDeposit(ctx, proposalID, TestAddrs[0])
|
deposit, found = app.GovKeeper.GetDeposit(ctx, proposalID, TestAddrs[0])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, fourStake.Add(fiveStake...), deposit.Amount)
|
require.Equal(t, fourStake.Add(fiveStake...), deposit.Amount)
|
||||||
require.Equal(t, TestAddrs[0], deposit.Depositor)
|
require.Equal(t, TestAddrs[0], deposit.Depositor)
|
||||||
proposal, ok = keeper.GetProposal(ctx, proposalID)
|
proposal, ok = app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
require.Equal(t, fourStake.Add(fiveStake...), proposal.TotalDeposit)
|
require.Equal(t, fourStake.Add(fiveStake...), proposal.TotalDeposit)
|
||||||
require.Equal(t, addr0Initial.Sub(fourStake).Sub(fiveStake), bk.GetAllBalances(ctx, TestAddrs[0]))
|
require.Equal(t, addr0Initial.Sub(fourStake).Sub(fiveStake), app.BankKeeper.GetAllBalances(ctx, TestAddrs[0]))
|
||||||
|
|
||||||
// Check third deposit from a new address
|
// Check third deposit from a new address
|
||||||
votingStarted, err = keeper.AddDeposit(ctx, proposalID, TestAddrs[1], fourStake)
|
votingStarted, err = app.GovKeeper.AddDeposit(ctx, proposalID, TestAddrs[1], fourStake)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.True(t, votingStarted)
|
require.True(t, votingStarted)
|
||||||
deposit, found = keeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
deposit, found = app.GovKeeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, TestAddrs[1], deposit.Depositor)
|
require.Equal(t, TestAddrs[1], deposit.Depositor)
|
||||||
require.Equal(t, fourStake, deposit.Amount)
|
require.Equal(t, fourStake, deposit.Amount)
|
||||||
proposal, ok = keeper.GetProposal(ctx, proposalID)
|
proposal, ok = app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
require.Equal(t, fourStake.Add(fiveStake...).Add(fourStake...), proposal.TotalDeposit)
|
require.Equal(t, fourStake.Add(fiveStake...).Add(fourStake...), proposal.TotalDeposit)
|
||||||
require.Equal(t, addr1Initial.Sub(fourStake), bk.GetAllBalances(ctx, TestAddrs[1]))
|
require.Equal(t, addr1Initial.Sub(fourStake), app.BankKeeper.GetAllBalances(ctx, TestAddrs[1]))
|
||||||
|
|
||||||
// Check that proposal moved to voting period
|
// Check that proposal moved to voting period
|
||||||
proposal, ok = keeper.GetProposal(ctx, proposalID)
|
proposal, ok = app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
require.True(t, proposal.VotingStartTime.Equal(ctx.BlockHeader().Time))
|
require.True(t, proposal.VotingStartTime.Equal(ctx.BlockHeader().Time))
|
||||||
|
|
||||||
// Test deposit iterator
|
// Test deposit iterator
|
||||||
// NOTE order of deposits is determined by the addresses
|
// NOTE order of deposits is determined by the addresses
|
||||||
deposits := keeper.GetAllDeposits(ctx)
|
deposits := app.GovKeeper.GetAllDeposits(ctx)
|
||||||
require.Len(t, deposits, 2)
|
require.Len(t, deposits, 2)
|
||||||
require.Equal(t, deposits, keeper.GetDeposits(ctx, proposalID))
|
require.Equal(t, deposits, app.GovKeeper.GetDeposits(ctx, proposalID))
|
||||||
require.Equal(t, TestAddrs[0], deposits[0].Depositor)
|
require.Equal(t, TestAddrs[0], deposits[0].Depositor)
|
||||||
require.Equal(t, fourStake.Add(fiveStake...), deposits[0].Amount)
|
require.Equal(t, fourStake.Add(fiveStake...), deposits[0].Amount)
|
||||||
require.Equal(t, TestAddrs[1], deposits[1].Depositor)
|
require.Equal(t, TestAddrs[1], deposits[1].Depositor)
|
||||||
require.Equal(t, fourStake, deposits[1].Amount)
|
require.Equal(t, fourStake, deposits[1].Amount)
|
||||||
|
|
||||||
// Test Refund Deposits
|
// Test Refund Deposits
|
||||||
deposit, found = keeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
deposit, found = app.GovKeeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, fourStake, deposit.Amount)
|
require.Equal(t, fourStake, deposit.Amount)
|
||||||
keeper.RefundDeposits(ctx, proposalID)
|
app.GovKeeper.RefundDeposits(ctx, proposalID)
|
||||||
deposit, found = keeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
deposit, found = app.GovKeeper.GetDeposit(ctx, proposalID, TestAddrs[1])
|
||||||
require.False(t, found)
|
require.False(t, found)
|
||||||
require.Equal(t, addr0Initial, bk.GetAllBalances(ctx, TestAddrs[0]))
|
require.Equal(t, addr0Initial, app.BankKeeper.GetAllBalances(ctx, TestAddrs[0]))
|
||||||
require.Equal(t, addr1Initial, bk.GetAllBalances(ctx, TestAddrs[1]))
|
require.Equal(t, addr1Initial, app.BankKeeper.GetAllBalances(ctx, TestAddrs[1]))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue