github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/dex/keeper/invariant_test.go (about)

     1  //go:build ignore
     2  
     3  package keeper
     4  
     5  import (
     6  	"testing"
     7  
     8  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     9  	"github.com/fibonacci-chain/fbc/x/dex/types"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestModuleAccountInvariant(t *testing.T) {
    14  
    15  	testInput := createTestInputWithBalance(t, 1, 10000)
    16  	ctx := testInput.Ctx
    17  	keeper := testInput.DexKeeper
    18  	accounts := testInput.TestAddrs
    19  	keeper.SetParams(ctx, *types.DefaultParams())
    20  
    21  	builtInTP := GetBuiltInTokenPair()
    22  	builtInTP.Owner = accounts[0]
    23  	err := keeper.SaveTokenPair(ctx, builtInTP)
    24  	require.Nil(t, err)
    25  
    26  	// deposit xxb_fibo 100 fibo
    27  	depositMsg := types.NewMsgDeposit(builtInTP.Name(),
    28  		sdk.NewDecCoin(builtInTP.QuoteAssetSymbol, sdk.NewInt(100)), accounts[0])
    29  
    30  	err = keeper.Deposit(ctx, builtInTP.Name(), depositMsg.Depositor, depositMsg.Amount)
    31  	require.Nil(t, err)
    32  
    33  	// module acount balance 100fibo
    34  	// xxb_fibo deposits 100 fibo. withdraw info 0 fibo
    35  	invariant := ModuleAccountInvariant(keeper, keeper.supplyKeeper)
    36  	_, broken := invariant(ctx)
    37  	require.False(t, broken)
    38  
    39  	// withdraw xxb_fibo 50 fibo
    40  	WithdrawMsg := types.NewMsgWithdraw(builtInTP.Name(),
    41  		sdk.NewDecCoin(builtInTP.QuoteAssetSymbol, sdk.NewInt(50)), accounts[0])
    42  
    43  	err = keeper.Withdraw(ctx, builtInTP.Name(), WithdrawMsg.Depositor, WithdrawMsg.Amount)
    44  	require.Nil(t, err)
    45  
    46  	// module acount balance 100fibo
    47  	// xxb_fibo deposits 50 fibo. withdraw info 50 fibo
    48  	invariant = ModuleAccountInvariant(keeper, keeper.supplyKeeper)
    49  	_, broken = invariant(ctx)
    50  	require.False(t, broken)
    51  
    52  }