From d0a1ea71719552eea78930e7bf3b04fd1564347c Mon Sep 17 00:00:00 2001 From: Zer0dot Date: Tue, 9 Feb 2021 18:14:38 -0500 Subject: [PATCH] Adapted test suite and added some tests for LP market --- test-suites/test-aave/flashloan.spec.ts | 2 +- .../scenarios/borrow-repay-stable.json | 106 +++++++++++++++--- .../scenarios/borrow-repay-variable.json | 15 ++- .../helpers/scenarios/credit-delegation.json | 33 +++++- .../scenarios/rebalance-stable-rate.json | 8 +- .../helpers/scenarios/swap-rate-mode.json | 62 +++++++++- .../helpers/scenarios/withdraw-negatives.json | 52 ++++++++- .../test-lp/helpers/scenarios/withdraw.json | 96 +++++++++++++++- .../test-lp/liquidation-underlying.spec.ts | 16 +-- .../test-lp/pausable-functions.spec.ts | 14 +-- test-suites/test-lp/weth-gateway.spec.ts | 36 +++--- 11 files changed, 376 insertions(+), 64 deletions(-) diff --git a/test-suites/test-aave/flashloan.spec.ts b/test-suites/test-aave/flashloan.spec.ts index 4a5f5576..911c4adc 100644 --- a/test-suites/test-aave/flashloan.spec.ts +++ b/test-suites/test-aave/flashloan.spec.ts @@ -462,7 +462,7 @@ makeSuite('LendingPool FlashLoan function', (testEnv: TestEnv) => { const reserveData = await pool.getReserveData(weth.address); - const stableDebtToken = await getVariableDebtToken(reserveData.stableDebtTokenAddress); + const stableDebtToken = await getStableDebtToken(reserveData.stableDebtTokenAddress); // Deposited for onBehalfOf user already, delegate borrow allowance await stableDebtToken.connect(onBehalfOf.signer).approveDelegation(caller.address, flashAmount); diff --git a/test-suites/test-lp/helpers/scenarios/borrow-repay-stable.json b/test-suites/test-lp/helpers/scenarios/borrow-repay-stable.json index 00596048..a1402942 100644 --- a/test-suites/test-lp/helpers/scenarios/borrow-repay-stable.json +++ b/test-suites/test-lp/helpers/scenarios/borrow-repay-stable.json @@ -3,7 +3,7 @@ "description": "Test cases for the borrow function, stable mode.", "stories": [ { - "description": "User 0 deposits 1000 LPDAI, user 1 deposits 1 WETH as collateral and borrows 100 LPDAI at stable rate", + "description": "User 0 deposits 1000 LPDAI, user 1 deposits 1 WETH as collateral and tries to borrow 100 LPDAI at stable rate (revert expected)", "actions": [ { "name": "mint", @@ -67,7 +67,7 @@ "user": "1", "timeTravel": "365" }, - "expected": "success" + "expected": "revert" } ] }, @@ -83,12 +83,43 @@ "user": "1" }, "expected": "revert", - "revertMessage": "There is not enough collateral to cover a new borrow" + "revertMessage": "12" } ] }, { - "description": "User 1 repays half of the LPDAI borrow after one year", + "description": "User 1 tries to borrow 100 LPDAI at variable", + "actions": [ + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "100", + "borrowRateMode": "variable", + "user": "1" + }, + "expected": "success" + } + ] + }, + { + "description": "User 1 tries to borrow the rest of the LPDAI liquidity at stable (revert expected)", + "actions": [ + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "900", + "borrowRateMode": "stable", + "user": "1" + }, + "expected": "revert", + "revertMessage": "12" + } + ] + }, + { + "description": "User 1 repays half of the LPDAI borrow at stable after one year (revert expected)", "actions": [ { "name": "mint", @@ -117,12 +148,28 @@ "onBehalfOf": "1", "borrowRateMode": "stable" }, + "expected": "revert" + } + ] + }, + { + "description": "User 1 repays half of the variable LPDAI borrow after one year", + "actions": [ + { + "name": "repay", + "args": { + "reserve": "LPDAI", + "amount": "50", + "user": "1", + "onBehalfOf": "1", + "borrowRateMode": "variable" + }, "expected": "success" } ] }, { - "description": "User 1 repays the rest of the LPDAI borrow after one year", + "description": "User 1 repays the rest of the LPDAI borrow at stable after one year (revert expected)", "actions": [ { "name": "mint", @@ -151,6 +198,22 @@ "onBehalfOf": "1", "borrowRateMode": "stable" }, + "expected": "revert" + } + ] + }, + { + "description": "User 1 repays the rest of the LPDAI borrow after one year at variable", + "actions": [ + { + "name": "repay", + "args": { + "reserve": "LPDAI", + "amount": "-1", + "user": "1", + "onBehalfOf": "1", + "borrowRateMode": "variable" + }, "expected": "success" } ] @@ -221,7 +284,7 @@ ] }, { - "description": "User 0 deposits 1000 LPDAI, user 1,2,3,4 deposit 1 WETH each and borrow 100 LPDAI at stable rate. Everything is repaid, user 0 withdraws", + "description": "User 0 deposits 1000 LPDAI, user 1,2,3,4 deposit 1 WETH each and borrow 100 LPDAI at stable rate (revert expected) user 0 withdraws", "actions": [ { "name": "mint", @@ -284,7 +347,7 @@ "user": "1", "timeTravel": "365" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -321,7 +384,7 @@ "user": "2", "timeTravel": "365" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -358,7 +421,7 @@ "user": "3", "timeTravel": "365" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -395,7 +458,7 @@ "user": "4", "timeTravel": "365" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -424,7 +487,7 @@ "onBehalfOf": "1", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -453,7 +516,7 @@ "onBehalfOf": "2", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -482,7 +545,7 @@ "onBehalfOf": "3", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", @@ -511,7 +574,7 @@ "onBehalfOf": "4", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "withdraw", @@ -525,7 +588,7 @@ ] }, { - "description": "User 0 deposits 1000 LPDAI, user 1 deposits 2 WETH and borrow 100 LPDAI at stable rate first, then 100 LPDAI at variable rate, repays everything. User 0 withdraws", + "description": "User 0 deposits 1000 LPDAI, user 1 deposits 2 WETH and borrow 100 LPDAI at stable rate first (revert expected), then 100 LPDAI at variable rate twice, repays everything. User 0 withdraws", "actions": [ { "name": "mint", @@ -588,6 +651,17 @@ "user": "1", "timeTravel": "365" }, + "expected": "revert" + }, + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "100", + "borrowRateMode": "variable", + "user": "1", + "timeTravel": "365" + }, "expected": "success" }, { @@ -628,7 +702,7 @@ "onBehalfOf": "1", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "repay", diff --git a/test-suites/test-lp/helpers/scenarios/borrow-repay-variable.json b/test-suites/test-lp/helpers/scenarios/borrow-repay-variable.json index 743ef2e8..1ffc911b 100644 --- a/test-suites/test-lp/helpers/scenarios/borrow-repay-variable.json +++ b/test-suites/test-lp/helpers/scenarios/borrow-repay-variable.json @@ -814,7 +814,7 @@ ] }, { - "description": "User 0 deposits 1000 LPDAI, user 6 deposits 2 WETH and borrow 100 LPDAI at variable rate first, then 100 LPDAI at stable rate, repays everything. User 0 withdraws", + "description": "User 0 deposits 1000 LPDAI, user 6 deposits 2 WETH and borrow 100 LPDAI at variable rate first, then 100 LPDAI at stable rate (revert expected), then 100 LPDAI at variable again, repays everything. User 0 withdraws", "actions": [ { "name": "mint", @@ -888,6 +888,17 @@ "user": "6", "timeTravel": "365" }, + "expected": "revert" + }, + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "100", + "borrowRateMode": "variable", + "user": "6", + "timeTravel": "365" + }, "expected": "success" }, { @@ -917,7 +928,7 @@ "onBehalfOf": "6", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "repay", diff --git a/test-suites/test-lp/helpers/scenarios/credit-delegation.json b/test-suites/test-lp/helpers/scenarios/credit-delegation.json index cb8e82d6..46437c40 100644 --- a/test-suites/test-lp/helpers/scenarios/credit-delegation.json +++ b/test-suites/test-lp/helpers/scenarios/credit-delegation.json @@ -82,7 +82,7 @@ ] }, { - "description": "User 4 trying to borrow 1 WETH stable on behalf of user 0, revert expected", + "description": "User 4 trying to borrow 1 WETH stable on behalf of user 0, (revert expected)", "actions": [ { "name": "borrow", @@ -99,7 +99,7 @@ ] }, { - "description": "User 0 delegates borrowing of 1 WETH to user 4, user 4 borrows 3 WETH variable on behalf of user 0, revert expected", + "description": "User 0 delegates borrowing of 1 WETH to user 4, user 4 borrows 3 WETH variable on behalf of user 0, (revert expected)", "actions": [ { "name": "delegateBorrowAllowance", @@ -127,7 +127,7 @@ ] }, { - "description": "User 0 delegates borrowing of 1 WETH on stable to user 2, user 2 borrows 1 WETH stable on behalf of user 0", + "description": "User 0 delegates borrowing of 1 WETH on stable to user 2, user 2 borrows 1 WETH stable on behalf of user 0 (revert expected)", "actions": [ { "name": "delegateBorrowAllowance", @@ -149,6 +149,33 @@ "onBehalfOf": "0", "borrowRateMode": "stable" }, + "expected": "revert" + } + ] + }, + { + "description": "User 0 delegates borrowing of 1 WETH on variable to user 2, user 2 borrows 1 WETH variable on behalf of user 0", + "actions": [ + { + "name": "delegateBorrowAllowance", + "args": { + "reserve": "WETH", + "amount": "1", + "user": "0", + "borrowRateMode": "variable", + "toUser": "2" + }, + "expected": "success" + }, + { + "name": "borrow", + "args": { + "reserve": "WETH", + "amount": "1", + "user": "2", + "onBehalfOf": "0", + "borrowRateMode": "variable" + }, "expected": "success" } ] diff --git a/test-suites/test-lp/helpers/scenarios/rebalance-stable-rate.json b/test-suites/test-lp/helpers/scenarios/rebalance-stable-rate.json index 6c9325ef..21c09510 100644 --- a/test-suites/test-lp/helpers/scenarios/rebalance-stable-rate.json +++ b/test-suites/test-lp/helpers/scenarios/rebalance-stable-rate.json @@ -18,7 +18,7 @@ ] }, { - "description": "User 0 deposits 1000 LPUSDC, user 1 deposits 7 WETH, borrows 250 LPUSDC at a stable rate, user 0 rebalances user 1 (revert expected)", + "description": "User 0 deposits 1000 LPUSDC, user 1 deposits 7 WETH, borrows 250 LPUSDC at a variable rate, user 0 rebalances user 1 (revert expected)", "actions": [ { "name": "mint", @@ -77,7 +77,7 @@ "args": { "reserve": "LPUSDC", "amount": "250", - "borrowRateMode": "stable", + "borrowRateMode": "variable", "user": "1" }, "expected": "success" @@ -171,7 +171,7 @@ }, { - "description": "User 1 borrows the remaining LPUSDC (usage ratio = 100%) at variable. User 0 rebalances user 1", + "description": "User 1 borrows the remaining LPUSDC (usage ratio = 100%) at variable. User 0 rebalances user 1, fails since there are no stable borrows (revert expected)", "actions": [ { "name": "borrow", @@ -190,7 +190,7 @@ "user": "0", "target": "1" }, - "expected": "success" + "expected": "revert" } ] } diff --git a/test-suites/test-lp/helpers/scenarios/swap-rate-mode.json b/test-suites/test-lp/helpers/scenarios/swap-rate-mode.json index 98011e48..82b44e83 100644 --- a/test-suites/test-lp/helpers/scenarios/swap-rate-mode.json +++ b/test-suites/test-lp/helpers/scenarios/swap-rate-mode.json @@ -33,7 +33,7 @@ ] }, { - "description": "User 0 deposits 1000 LPDAI, user 1 deposits 2 WETH as collateral, borrows 100 LPDAI at variable rate and swaps to stable after one year", + "description": "User 0 deposits 1000 LPDAI, user 1 deposits 2 WETH as collateral, borrows 100 LPDAI at variable rate and swaps to stable after one year, fails because stable borrowing is disabled (revert expected)", "actions": [ { "name": "mint", @@ -105,12 +105,12 @@ "user": "1", "borrowRateMode": "variable" }, - "expected": "success" + "expected": "revert" } ] }, { - "description": "User 1 borrows another 100 LPDAI, and swaps back to variable after one year, repays the loan", + "description": "User 1 borrows another 100 LPDAI at stable (revert expected), and swaps back to variable after one year (revert expected), repays the loan", "actions": [ { "name": "borrow", @@ -121,6 +121,60 @@ "user": "1", "timeTravel": "365" }, + "expected": "revert" + }, + { + "name": "swapBorrowRateMode", + "args": { + "reserve": "LPDAI", + "user": "1", + "borrowRateMode": "stable" + }, + "expected": "revert" + }, + { + "name": "mint", + "description": "Mint 50 LPDAI to cover the interest", + "args": { + "reserve": "LPDAI", + "amount": "50", + "user": "1" + }, + "expected": "success" + }, + { + "name": "approve", + "args": { + "reserve": "LPDAI", + "user": "1" + }, + "expected": "success" + }, + { + "name": "repay", + "args": { + "reserve": "LPDAI", + "amount": "-1", + "user": "1", + "onBehalfOf": "1", + "borrowRateMode": "variable" + }, + "expected": "success" + } + ] + }, + { + "description": "User 1 borrows another 100 LPDAI at variable, and tries to swap to stable after one year (revert expected), repays the loan", + "actions": [ + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "100", + "borrowRateMode": "variable", + "user": "1", + "timeTravel": "365" + }, "expected": "success" }, { @@ -130,7 +184,7 @@ "user": "1", "borrowRateMode": "stable" }, - "expected": "success" + "expected": "revert" }, { "name": "mint", diff --git a/test-suites/test-lp/helpers/scenarios/withdraw-negatives.json b/test-suites/test-lp/helpers/scenarios/withdraw-negatives.json index 1d7ba442..e282e65c 100644 --- a/test-suites/test-lp/helpers/scenarios/withdraw-negatives.json +++ b/test-suites/test-lp/helpers/scenarios/withdraw-negatives.json @@ -60,7 +60,7 @@ ] }, { - "description": "Users 1 deposits 1 WETH, borrows 100 LPDAI, tries to redeem the 1 WETH deposited (revert expected)", + "description": "Users 1 deposits 1 WETH, borrows 100 LPDAI stable (revert expected), redeems the 1 WETH deposited", "actions": [ { "name": "mint", @@ -96,6 +96,56 @@ "user": "1", "borrowRateMode": "stable" }, + "expected": "revert" + }, + { + "name": "withdraw", + "args": { + "reserve": "WETH", + "amount": "-1", + "user": "1" + }, + "expected": "success" + } + ] + }, + { + "description": "Users 1 deposits 1 WETH, borrows 100 LPDAI at variable rate, tries to redeem the 1 WETH deposited (revert expected)", + "actions": [ + { + "name": "mint", + "args": { + "reserve": "WETH", + "amount": "1", + "user": "1" + }, + "expected": "success" + }, + { + "name": "approve", + "args": { + "reserve": "WETH", + "user": "1" + }, + "expected": "success" + }, + { + "name": "deposit", + "args": { + "reserve": "WETH", + "amount": "1", + "user": "1" + }, + "expected": "success" + }, + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "100", + "user": "1", + "borrowRateMode": "variable" + }, "expected": "success" }, { diff --git a/test-suites/test-lp/helpers/scenarios/withdraw.json b/test-suites/test-lp/helpers/scenarios/withdraw.json index 78ec38ca..ac72b2c6 100644 --- a/test-suites/test-lp/helpers/scenarios/withdraw.json +++ b/test-suites/test-lp/helpers/scenarios/withdraw.json @@ -238,7 +238,7 @@ ] }, { - "description": "Users 0 deposits 1000 LPDAI, user 1 Deposit 1000 LPUSDC and 1 WETH, borrows 100 LPDAI. User 1 tries to withdraw all the LPUSDC", + "description": "Users 0 deposits 1000 LPDAI, user 1 Deposit 1000 LPUSDC and 1 WETH, borrows 100 LPDAI at stable rate (revert expected). User 1 tries to withdraw all the LPUSDC", "actions": [ { "name": "deposit", @@ -309,6 +309,100 @@ "user": "1", "borrowRateMode": "stable" }, + "expected": "revert" + }, + { + "name": "withdraw", + "args": { + "reserve": "LPUSDC", + "amount": "-1", + "user": "1" + }, + "expected": "success" + } + ] + }, + { + "description": "Users 0 deposits 1000 LPDAI, user 1 Deposit 1000 LPUSDC and 1 WETH, borrows 100 LPDAI at variable rate. User 1 tries to withdraw all the LPUSDC", + "actions": [ + { + "name": "mint", + "args": { + "reserve": "LPDAI", + "amount": "1000", + "user": "0" + }, + "expected": "success" + }, + { + "name": "deposit", + "args": { + "reserve": "LPDAI", + "amount": "1000", + "user": "0" + }, + "expected": "success" + }, + { + "name": "mint", + "args": { + "reserve": "LPUSDC", + "amount": "10000", + "user": "1" + }, + "expected": "success" + }, + { + "name": "approve", + "args": { + "reserve": "LPUSDC", + "user": "1" + }, + "expected": "success" + }, + { + "name": "deposit", + "args": { + "reserve": "LPUSDC", + "amount": "1000", + "user": "1" + }, + "expected": "success" + }, + { + "name": "mint", + "args": { + "reserve": "WETH", + "amount": "1", + "user": "1" + }, + "expected": "success" + }, + { + "name": "approve", + "args": { + "reserve": "WETH", + "user": "1" + }, + "expected": "success" + }, + { + "name": "deposit", + "args": { + "reserve": "WETH", + "amount": "1", + "user": "1" + }, + "expected": "success" + }, + { + "name": "borrow", + "args": { + "reserve": "LPDAI", + "amount": "100", + "user": "1", + "borrowRateMode": "variable" + }, "expected": "success" }, { diff --git a/test-suites/test-lp/liquidation-underlying.spec.ts b/test-suites/test-lp/liquidation-underlying.spec.ts index b86a55d6..7bc78dad 100644 --- a/test-suites/test-lp/liquidation-underlying.spec.ts +++ b/test-suites/test-lp/liquidation-underlying.spec.ts @@ -142,7 +142,7 @@ makeSuite('LendingPool liquidation - liquidator receiving the underlying asset', borrower.address ); - const amountToLiquidate = userReserveDataBefore.currentStableDebt.div(2).toFixed(0); + const amountToLiquidate = userReserveDataBefore.currentVariableDebt.div(2).toFixed(0); await increaseTime(100); @@ -193,7 +193,7 @@ makeSuite('LendingPool liquidation - liquidator receiving the underlying asset', txTimestamp ); - expect(userReserveDataAfter.currentStableDebt.toString()).to.be.bignumber.almostEqual( + expect(userReserveDataAfter.currentVariableDebt.toString()).to.be.bignumber.almostEqual( variableDebtBeforeTx.minus(amountToLiquidate).toFixed(0), 'Invalid user debt after liquidation' ); @@ -301,7 +301,7 @@ makeSuite('LendingPool liquidation - liquidator receiving the underlying asset', const ethReserveDataBefore = await helpersContract.getReserveData(weth.address); const amountToLiquidate = DRE.ethers.BigNumber.from( - userReserveDataBefore.currentStableDebt.toString() + userReserveDataBefore.currentVariableDebt.toString() ) .div(2) .toString(); @@ -344,8 +344,8 @@ makeSuite('LendingPool liquidation - liquidator receiving the underlying asset', 'Invalid health factor' ); - expect(userReserveDataAfter.currentStableDebt.toString()).to.be.bignumber.almostEqual( - new BigNumber(userReserveDataBefore.currentStableDebt.toString()) + expect(userReserveDataAfter.currentVariableDebt.toString()).to.be.bignumber.almostEqual( + new BigNumber(userReserveDataBefore.currentVariableDebt.toString()) .minus(amountToLiquidate) .toFixed(0), 'Invalid user borrow balance after liquidation' @@ -421,7 +421,7 @@ makeSuite('LendingPool liquidation - liquidator receiving the underlying asset', const usdcReserveDataBefore = await helpersContract.getReserveData(usdc.address); const aaveReserveDataBefore = await helpersContract.getReserveData(aave.address); - const amountToLiquidate = new BigNumber(userReserveDataBefore.currentStableDebt.toString()) + const amountToLiquidate = new BigNumber(userReserveDataBefore.currentVariableDebt.toString()) .div(2) .decimalPlaces(0, BigNumber.ROUND_DOWN) .toFixed(0); @@ -468,8 +468,8 @@ makeSuite('LendingPool liquidation - liquidator receiving the underlying asset', 'Invalid health factor' ); - expect(userReserveDataAfter.currentStableDebt.toString()).to.be.bignumber.almostEqual( - new BigNumber(userReserveDataBefore.currentStableDebt.toString()) + expect(userReserveDataAfter.currentVariableDebt.toString()).to.be.bignumber.almostEqual( + new BigNumber(userReserveDataBefore.currentVariableDebt.toString()) .minus(expectedPrincipal) .toFixed(0), 'Invalid user borrow balance after liquidation' diff --git a/test-suites/test-lp/pausable-functions.spec.ts b/test-suites/test-lp/pausable-functions.spec.ts index c95aaf3c..2096b235 100644 --- a/test-suites/test-lp/pausable-functions.spec.ts +++ b/test-suites/test-lp/pausable-functions.spec.ts @@ -131,7 +131,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { // Try to execute liquidation await expect( - pool.connect(user.signer).borrow(dai.address, '1', '1', '0', user.address) + pool.connect(user.signer).borrow(dai.address, '1', '2', '0', user.address) ).revertedWith(LP_IS_PAUSED); // Unpause the pool @@ -146,7 +146,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { await configurator.connect(users[1].signer).setPoolPause(true); // Try to execute liquidation - await expect(pool.connect(user.signer).repay(dai.address, '1', '1', user.address)).revertedWith( + await expect(pool.connect(user.signer).repay(dai.address, '1', '2', user.address)).revertedWith( LP_IS_PAUSED ); @@ -173,7 +173,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { _mockFlashLoanReceiver.address, [weth.address], [flashAmount], - [1], + [2], caller.address, '0x10', '0' @@ -232,7 +232,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { await pool .connect(borrower.signer) - .borrow(usdc.address, amountUSDCToBorrow, RateMode.Stable, '0', borrower.address); + .borrow(usdc.address, amountUSDCToBorrow, RateMode.Variable, '0', borrower.address); // Drops HF below 1 await oracle.setAssetPrice( @@ -249,7 +249,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { borrower.address ); - const amountToLiquidate = new BigNumber(userReserveDataBefore.currentStableDebt.toString()) + const amountToLiquidate = new BigNumber(userReserveDataBefore.currentVariableDebt.toString()) .multipliedBy(0.5) .toFixed(0); @@ -265,7 +265,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { await configurator.connect(users[1].signer).setPoolPause(false); }); - it('SwapBorrowRateMode', async () => { + it('SwapBorrowRateMode should fail because pool is paused', async () => { const { pool, weth, dai, usdc, users, configurator } = testEnv; const user = users[1]; const amountWETHToDeposit = parseEther('10'); @@ -294,7 +294,7 @@ makeSuite('Pausable Pool', (testEnv: TestEnv) => { await configurator.connect(users[1].signer).setPoolPause(false); }); - it('RebalanceStableBorrowRate', async () => { + it('RebalanceStableBorrowRate should fail because the pool is paused, even if there is no stable borrow', async () => { const { pool, dai, users, configurator } = testEnv; const user = users[1]; // Pause pool diff --git a/test-suites/test-lp/weth-gateway.spec.ts b/test-suites/test-lp/weth-gateway.spec.ts index 22939f5c..b8a0216a 100644 --- a/test-suites/test-lp/weth-gateway.spec.ts +++ b/test-suites/test-lp/weth-gateway.spec.ts @@ -6,6 +6,7 @@ import { DRE, waitForTx } from '../../helpers/misc-utils'; import { BigNumber } from 'ethers'; import { getStableDebtToken, getVariableDebtToken } from '../../helpers/contracts-getters'; import { deploySelfdestructTransferMock } from '../../helpers/contracts-deployments'; +import { ProtocolErrors } from '../../helpers/types'; const { expect } = require('chai'); @@ -101,7 +102,7 @@ makeSuite('Use native ETH at LendingPool via WETHGateway', (testEnv: TestEnv) => expect(afterFullATokensBalance).to.be.eq(0, 'User aWETH balance should be zero'); }); - it('Borrow stable WETH and Full Repay with ETH', async () => { + it('Borrowing stable WETH should fail since stable borrowing is disabled', async () => { const { users, wethGateway, aDai, weth, dai, pool, helpersContract } = testEnv; const borrowSize = parseEther('1'); const repaySize = borrowSize.add(borrowSize.mul(5).div(100)); @@ -130,27 +131,28 @@ makeSuite('Use native ETH at LendingPool via WETHGateway', (testEnv: TestEnv) => expect(aTokensBalance).to.be.gte(daiSize); // Borrow WETH with WETH as collateral - await waitForTx( - await pool.connect(user.signer).borrow(weth.address, borrowSize, '1', '0', user.address) - ); + + await expect(pool.connect(user.signer).borrow(weth.address, borrowSize, '1', '0', user.address)) + .to.be.revertedWith(ProtocolErrors.VL_STABLE_BORROWING_NOT_ENABLED); - const debtBalance = await stableDebtToken.balanceOf(user.address); - expect(debtBalance).to.be.gt(zero); + // const debtBalance = await stableDebtToken.balanceOf(user.address); - // Full Repay WETH with native ETH - await waitForTx( - await wethGateway - .connect(user.signer) - .repayETH(MAX_UINT_AMOUNT, '1', user.address, { value: repaySize }) - ); + // expect(debtBalance).to.be.gt(zero); - const debtBalanceAfterRepay = await stableDebtToken.balanceOf(user.address); - expect(debtBalanceAfterRepay).to.be.eq(zero); + // // Full Repay WETH with native ETH + // await waitForTx( + // await wethGateway + // .connect(user.signer) + // .repayETH(MAX_UINT_AMOUNT, '1', user.address, { value: repaySize }) + // ); - // Withdraw DAI - await aDai.connect(user.signer).approve(pool.address, MAX_UINT_AMOUNT); - await pool.connect(user.signer).withdraw(dai.address, MAX_UINT_AMOUNT, user.address); + // const debtBalanceAfterRepay = await stableDebtToken.balanceOf(user.address); + // expect(debtBalanceAfterRepay).to.be.eq(zero); + + // // Withdraw DAI + // await aDai.connect(user.signer).approve(pool.address, MAX_UINT_AMOUNT); + // await pool.connect(user.signer).withdraw(dai.address, MAX_UINT_AMOUNT, user.address); }); it('Borrow variable WETH and Full Repay with ETH', async () => {