diff options
author | Fabio Berger <me@fabioberger.com> | 2017-06-02 18:42:31 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2017-06-02 18:42:31 +0800 |
commit | 6f98d8328419962e257c570e3fcb5cb4246162a3 (patch) | |
tree | 831f3a1560bf703302d40fe63592303dc71e3aca /test/exchange_wrapper_test.ts | |
parent | efcfa1af702ca78d4d15a686136635eb775ce570 (diff) | |
parent | 2a0c6abbe7f9abeacc4fea05bc468413ec1f4732 (diff) | |
download | dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.tar dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.tar.gz dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.tar.bz2 dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.tar.lz dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.tar.xz dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.tar.zst dexon-sol-tools-6f98d8328419962e257c570e3fcb5cb4246162a3.zip |
Merge branch 'fillOrderAsync' into addEventSubscriptions
# Conflicts:
# src/contract_wrappers/exchange_wrapper.ts
Diffstat (limited to 'test/exchange_wrapper_test.ts')
-rw-r--r-- | test/exchange_wrapper_test.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/exchange_wrapper_test.ts b/test/exchange_wrapper_test.ts index 77e241e79..cfb75789c 100644 --- a/test/exchange_wrapper_test.ts +++ b/test/exchange_wrapper_test.ts @@ -190,6 +190,31 @@ describe('ExchangeWrapper', () => { signedOrder, fillTakerAmountInBaseUnits, shouldCheckTransfer, )).to.be.rejectedWith(FillOrderValidationErrs.NOT_ENOUGH_TAKER_ALLOWANCE); }); + it('should throw when maker balance is less than maker fill amount', async () => { + const fillableAmount = new BigNumber(5); + const signedOrder = await fillScenarios.createAFillableSignedOrderAsync( + makerTokenAddress, takerTokenAddress, makerAddress, takerAddress, fillableAmount, + ); + const lackingMakerBalance = new BigNumber(3); + await zeroEx.token.transferAsync(makerTokenAddress, makerAddress, coinBase, lackingMakerBalance); + zeroEx.setTransactionSenderAccount(takerAddress); + return expect(zeroEx.exchange.fillOrderAsync( + signedOrder, fillTakerAmountInBaseUnits, shouldCheckTransfer, + )).to.be.rejectedWith(FillOrderValidationErrs.NOT_ENOUGH_MAKER_BALANCE); + }); + it('should throw when maker allowance is less than maker fill amount', async () => { + const fillableAmount = new BigNumber(5); + const signedOrder = await fillScenarios.createAFillableSignedOrderAsync( + makerTokenAddress, takerTokenAddress, makerAddress, takerAddress, fillableAmount, + ); + const newAllowanceWhichIsLessThanFillAmount = fillTakerAmountInBaseUnits.minus(1); + await zeroEx.token.setProxyAllowanceAsync(makerTokenAddress, makerAddress, + newAllowanceWhichIsLessThanFillAmount); + zeroEx.setTransactionSenderAccount(takerAddress); + return expect(zeroEx.exchange.fillOrderAsync( + signedOrder, fillTakerAmountInBaseUnits, shouldCheckTransfer, + )).to.be.rejectedWith(FillOrderValidationErrs.NOT_ENOUGH_MAKER_ALLOWANCE); + }); }); describe('successful fills', () => { it('should fill the valid order', async () => { |