diff options
author | Jacob Evans <dekz@dekz.net> | 2018-05-01 19:55:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-01 19:55:49 +0800 |
commit | 3e683162e9e894dc5c309d26feb866eb6d98b154 (patch) | |
tree | 61230314cf99cba43bd43fff477196481e90719a /packages/0x.js/test | |
parent | 7104ae4752e83bb6d19599893b2e5a2b2d44b008 (diff) | |
parent | 8e7937bdb61887ea3df66a602a275f5643e6585c (diff) | |
download | dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.tar dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.tar.gz dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.tar.bz2 dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.tar.lz dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.tar.xz dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.tar.zst dexon-sol-tools-3e683162e9e894dc5c309d26feb866eb6d98b154.zip |
Merge pull request #568 from 0xProject/bug/0x.js/trade-simulator-trading-zrx
Execute Taker side in trade simulation
Diffstat (limited to 'packages/0x.js/test')
-rw-r--r-- | packages/0x.js/test/order_validation_test.ts | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/packages/0x.js/test/order_validation_test.ts b/packages/0x.js/test/order_validation_test.ts index c894774b8..9b843b930 100644 --- a/packages/0x.js/test/order_validation_test.ts +++ b/packages/0x.js/test/order_validation_test.ts @@ -68,6 +68,40 @@ describe('OrderValidation', () => { ); await zeroEx.exchange.validateOrderFillableOrThrowAsync(signedOrder); }); + it('should succeed if the maker is buying ZRX and has no ZRX balance', async () => { + const makerFee = new BigNumber(2); + const takerFee = new BigNumber(2); + const signedOrder = await fillScenarios.createFillableSignedOrderWithFeesAsync( + makerTokenAddress, + zrxTokenAddress, + makerFee, + takerFee, + makerAddress, + takerAddress, + fillableAmount, + feeRecipient, + ); + const zrxMakerBalance = await zeroEx.token.getBalanceAsync(zrxTokenAddress, makerAddress); + await zeroEx.token.transferAsync(zrxTokenAddress, makerAddress, takerAddress, zrxMakerBalance); + await zeroEx.exchange.validateOrderFillableOrThrowAsync(signedOrder); + }); + it('should succeed if the maker is buying ZRX and has no ZRX balance and there is no specified taker', async () => { + const makerFee = new BigNumber(2); + const takerFee = new BigNumber(2); + const signedOrder = await fillScenarios.createFillableSignedOrderWithFeesAsync( + makerTokenAddress, + zrxTokenAddress, + makerFee, + takerFee, + makerAddress, + constants.NULL_ADDRESS, + fillableAmount, + feeRecipient, + ); + const zrxMakerBalance = await zeroEx.token.getBalanceAsync(zrxTokenAddress, makerAddress); + await zeroEx.token.transferAsync(zrxTokenAddress, makerAddress, takerAddress, zrxMakerBalance); + await zeroEx.exchange.validateOrderFillableOrThrowAsync(signedOrder); + }); it('should succeed if the order is asymmetric and fillable', async () => { const makerFillableAmount = fillableAmount; const takerFillableAmount = fillableAmount.minus(4); @@ -469,4 +503,4 @@ describe('OrderValidation', () => { expect(partialTakerFee).to.be.bignumber.equal(takerPartialFee); }); }); -}); +}); // tslint:disable-line:max-file-line-count |