forked from cerc-io/laconicd-deprecated
47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
|
package v010_test
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/require"
|
||
|
|
||
|
"github.com/cosmos/cosmos-sdk/testutil"
|
||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||
|
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
|
||
|
|
||
|
"github.com/tharsis/ethermint/encoding"
|
||
|
|
||
|
"github.com/tharsis/ethermint/app"
|
||
|
feemarketkeeper "github.com/tharsis/ethermint/x/feemarket/keeper"
|
||
|
v010 "github.com/tharsis/ethermint/x/feemarket/migrations/v010"
|
||
|
"github.com/tharsis/ethermint/x/feemarket/types"
|
||
|
feemarkettypes "github.com/tharsis/ethermint/x/feemarket/types"
|
||
|
)
|
||
|
|
||
|
func TestMigrateStore(t *testing.T) {
|
||
|
encCfg := encoding.MakeConfig(app.ModuleBasics)
|
||
|
feemarketKey := sdk.NewKVStoreKey(feemarkettypes.StoreKey)
|
||
|
tFeeMarketKey := sdk.NewTransientStoreKey(fmt.Sprintf("%s_test", feemarkettypes.StoreKey))
|
||
|
ctx := testutil.DefaultContext(feemarketKey, tFeeMarketKey)
|
||
|
paramstore := paramtypes.NewSubspace(
|
||
|
encCfg.Marshaler, encCfg.Amino, feemarketKey, tFeeMarketKey, "feemarket",
|
||
|
)
|
||
|
fmKeeper := feemarketkeeper.NewKeeper(encCfg.Marshaler, feemarketKey, paramstore)
|
||
|
fmKeeper.SetParams(ctx, types.DefaultParams())
|
||
|
require.True(t, paramstore.HasKeyTable())
|
||
|
|
||
|
// check that the fee market is not nil
|
||
|
err := v010.MigrateStore(ctx, ¶mstore, feemarketKey)
|
||
|
require.NoError(t, err)
|
||
|
require.False(t, ctx.KVStore(feemarketKey).Has(v010.KeyPrefixBaseFeeV1))
|
||
|
|
||
|
params := fmKeeper.GetParams(ctx)
|
||
|
require.False(t, params.BaseFee.IsNil())
|
||
|
|
||
|
baseFee := fmKeeper.GetBaseFee(ctx)
|
||
|
require.NotNil(t, baseFee)
|
||
|
|
||
|
require.Equal(t, baseFee.Int64(), params.BaseFee.Int64())
|
||
|
}
|