Some checks are pending
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
77 lines
2.4 KiB
Go
77 lines
2.4 KiB
Go
package keeper_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
"go.uber.org/mock/gomock"
|
|
|
|
sdkmath "cosmossdk.io/math"
|
|
storetypes "cosmossdk.io/store/types"
|
|
|
|
"git.cw.tr/mukan-network/mukan-sdk/codec"
|
|
addresscodec "git.cw.tr/mukan-network/mukan-sdk/codec/address"
|
|
"git.cw.tr/mukan-network/mukan-sdk/runtime"
|
|
"git.cw.tr/mukan-network/mukan-sdk/testutil"
|
|
sdk "git.cw.tr/mukan-network/mukan-sdk/types"
|
|
moduletestutil "git.cw.tr/mukan-network/mukan-sdk/types/module/testutil"
|
|
"git.cw.tr/mukan-network/mukan-sdk/x/crisis"
|
|
"git.cw.tr/mukan-network/mukan-sdk/x/crisis/keeper"
|
|
crisistestutil "git.cw.tr/mukan-network/mukan-sdk/x/crisis/testutil"
|
|
"git.cw.tr/mukan-network/mukan-sdk/x/crisis/types"
|
|
)
|
|
|
|
type GenesisTestSuite struct {
|
|
suite.Suite
|
|
|
|
sdkCtx sdk.Context
|
|
keeper keeper.Keeper
|
|
cdc codec.BinaryCodec
|
|
}
|
|
|
|
func TestGenesisTestSuite(t *testing.T) {
|
|
suite.Run(t, new(GenesisTestSuite))
|
|
}
|
|
|
|
func (s *GenesisTestSuite) SetupTest() {
|
|
key := storetypes.NewKVStoreKey(types.StoreKey)
|
|
storeService := runtime.NewKVStoreService(key)
|
|
testCtx := testutil.DefaultContextWithDB(s.T(), key, storetypes.NewTransientStoreKey("transient_test"))
|
|
encCfg := moduletestutil.MakeTestEncodingConfig(crisis.AppModuleBasic{})
|
|
|
|
// gomock initializations
|
|
ctrl := gomock.NewController(s.T())
|
|
s.cdc = codec.NewProtoCodec(encCfg.InterfaceRegistry)
|
|
s.sdkCtx = testCtx.Ctx
|
|
|
|
supplyKeeper := crisistestutil.NewMockSupplyKeeper(ctrl)
|
|
|
|
s.keeper = *keeper.NewKeeper(s.cdc, storeService, 5, supplyKeeper, "", "", addresscodec.NewBech32Codec("cosmos"))
|
|
}
|
|
|
|
func (s *GenesisTestSuite) TestImportExportGenesis() {
|
|
// default params
|
|
constantFee := sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(1000))
|
|
err := s.keeper.ConstantFee.Set(s.sdkCtx, constantFee)
|
|
s.Require().NoError(err)
|
|
genesis := s.keeper.ExportGenesis(s.sdkCtx)
|
|
|
|
// set constant fee to zero
|
|
constantFee = sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(0))
|
|
err = s.keeper.ConstantFee.Set(s.sdkCtx, constantFee)
|
|
s.Require().NoError(err)
|
|
|
|
s.keeper.InitGenesis(s.sdkCtx, genesis)
|
|
newGenesis := s.keeper.ExportGenesis(s.sdkCtx)
|
|
s.Require().Equal(genesis, newGenesis)
|
|
}
|
|
|
|
func (s *GenesisTestSuite) TestInitGenesis() {
|
|
genesisState := types.DefaultGenesisState()
|
|
genesisState.ConstantFee = sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(1000))
|
|
s.keeper.InitGenesis(s.sdkCtx, genesisState)
|
|
|
|
constantFee, err := s.keeper.ConstantFee.Get(s.sdkCtx)
|
|
s.Require().NoError(err)
|
|
s.Require().Equal(genesisState.ConstantFee, constantFee)
|
|
}
|