From b40c76d0b1e2fc356c63a01d0d6eb1abd0196a73 Mon Sep 17 00:00:00 2001 From: Aniket-Engg Date: Thu, 11 Oct 2018 16:07:39 +0530 Subject: [PATCH] approve failing test --- contracts/mocks/SafeERC20Helper.sol | 10 +++++++--- test/token/ERC20/SafeERC20.test.js | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/contracts/mocks/SafeERC20Helper.sol b/contracts/mocks/SafeERC20Helper.sol index 838a2512c..c020df7dc 100644 --- a/contracts/mocks/SafeERC20Helper.sol +++ b/contracts/mocks/SafeERC20Helper.sol @@ -64,9 +64,9 @@ contract ERC20SucceedingMock { return 0; } - function allowance(address, address) public view returns (uint256) { - return _allowance; - } + function allowance(address, address) public view returns (uint256) { + return 10; //non-zero allowance + } } contract SafeERC20Helper { @@ -140,6 +140,10 @@ contract SafeERC20Helper { _succeeding.safeApprove(address(0), 0); } + function doFailingApproveByValue() public { + _succeeding.safeApprove(address(0), 10); + } + function doSucceedingIncreaseAllowance() public { _succeeding.safeIncreaseAllowance(address(0), 0); } diff --git a/test/token/ERC20/SafeERC20.test.js b/test/token/ERC20/SafeERC20.test.js index b1308a5b7..687e6ee87 100644 --- a/test/token/ERC20/SafeERC20.test.js +++ b/test/token/ERC20/SafeERC20.test.js @@ -99,6 +99,10 @@ contract('SafeERC20', function () { }); }); + it('should throw while approving with non-zero existing allowance', async function () { + await shouldFail.reverting(this.helper.doFailingApproveByValue()); + }); + it('should not throw on succeeding increaseAllowance', async function () { await this.helper.doSucceedingIncreaseAllowance(); });