diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-06-02 18:08:25 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-06-02 18:08:25 +0800 |
commit | 4caf1b009ea253d08e1cd6ecc4e914606e2d31c1 (patch) | |
tree | a6203c1582ddbe39a1e59290e9c1c56753f271e3 /test | |
parent | 5155f4980440f1c91006b124406c8b4a7a90e300 (diff) | |
download | dexon-0x-contracts-4caf1b009ea253d08e1cd6ecc4e914606e2d31c1.tar.gz dexon-0x-contracts-4caf1b009ea253d08e1cd6ecc4e914606e2d31c1.tar.zst dexon-0x-contracts-4caf1b009ea253d08e1cd6ecc4e914606e2d31c1.zip |
Add test for valid partial fill
Diffstat (limited to 'test')
-rw-r--r-- | test/exchange_wrapper_test.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/exchange_wrapper_test.ts b/test/exchange_wrapper_test.ts index 8d39c9e57..0c1f552b6 100644 --- a/test/exchange_wrapper_test.ts +++ b/test/exchange_wrapper_test.ts @@ -207,6 +207,23 @@ describe('ExchangeWrapper', () => { expect(await zeroEx.token.getBalanceAsync(takerTokenAddress, takerAddress)) .to.be.bignumber.equal(fillableAmount.minus(fillTakerAmountInBaseUnits)); }); + it('should partially fill the valid order', async () => { + const fillableAmount = new BigNumber(5); + const signedOrder = await fillScenarios.createAFillableSignedOrderAsync( + makerTokenAddress, takerTokenAddress, makerAddress, takerAddress, fillableAmount, + ); + const partialFillAmount = new BigNumber(3); + zeroEx.setTransactionSenderAccount(takerAddress); + await zeroEx.exchange.fillOrderAsync(signedOrder, partialFillAmount, shouldCheckTransfer); + expect(await zeroEx.token.getBalanceAsync(makerTokenAddress, makerAddress)) + .to.be.bignumber.equal(fillableAmount.minus(partialFillAmount)); + expect(await zeroEx.token.getBalanceAsync(takerTokenAddress, makerAddress)) + .to.be.bignumber.equal(partialFillAmount); + expect(await zeroEx.token.getBalanceAsync(makerTokenAddress, takerAddress)) + .to.be.bignumber.equal(partialFillAmount); + expect(await zeroEx.token.getBalanceAsync(takerTokenAddress, takerAddress)) + .to.be.bignumber.equal(fillableAmount.minus(partialFillAmount)); + }); }); }); }); |