forked from cerc-io/laconicd
Prathamesh Musale
0af44b5f17
- Setup integration tests following pattern suggested in cosmos-sdk docs: https://docs.cosmos.network/v0.50/build/building-modules/testing#integration-tests - Add tests for laconic modules query services - Setup a CI workflow to run the integration tests Reviewed-on: deep-stack/laconic2d#11 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
60 lines
1.4 KiB
Go
60 lines
1.4 KiB
Go
package keeper_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"cosmossdk.io/math"
|
|
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/suite"
|
|
|
|
integrationTest "git.vdb.to/cerc-io/laconic2d/tests/integration"
|
|
bondTypes "git.vdb.to/cerc-io/laconic2d/x/bond"
|
|
types "git.vdb.to/cerc-io/laconic2d/x/registry"
|
|
)
|
|
|
|
type KeeperTestSuite struct {
|
|
suite.Suite
|
|
integrationTest.TestFixture
|
|
|
|
queryClient types.QueryClient
|
|
|
|
accounts []sdk.AccAddress
|
|
bond bondTypes.Bond
|
|
}
|
|
|
|
func (kts *KeeperTestSuite) SetupTest() {
|
|
kts.TestFixture.Setup()
|
|
|
|
// set default params
|
|
err := kts.RegistryKeeper.Params.Set(kts.SdkCtx, types.DefaultParams())
|
|
assert.Nil(kts.T(), err)
|
|
|
|
qr := kts.App.QueryHelper()
|
|
kts.queryClient = types.NewQueryClient(qr)
|
|
|
|
// Create a bond
|
|
bond, err := kts.createBond()
|
|
assert.Nil(kts.T(), err)
|
|
kts.bond = *bond
|
|
}
|
|
|
|
func TestRegistryKeeperTestSuite(t *testing.T) {
|
|
suite.Run(t, new(KeeperTestSuite))
|
|
}
|
|
|
|
func (kts *KeeperTestSuite) createBond() (*bondTypes.Bond, error) {
|
|
ctx := kts.SdkCtx
|
|
|
|
// Create a funded account
|
|
kts.accounts = simtestutil.AddTestAddrs(kts.BankKeeper, integrationTest.BondDenomProvider{}, ctx, 1, math.NewInt(100000000000))
|
|
|
|
bond, err := kts.BondKeeper.CreateBond(ctx, kts.accounts[0], sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(1000000000))))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return bond, nil
|
|
}
|