diff options
author | Ara Kevonian <=> | 2018-04-09 19:49:05 +0800 |
---|---|---|
committer | Ara Kevonian <=> | 2018-04-09 19:49:05 +0800 |
commit | 8d76d74a1713dcec140c8d43f9ea7612b5cc38f1 (patch) | |
tree | 92dd11f286baa3fe9ac3d840fddf82fe059f7b93 /packages/0x.js/test | |
parent | 073bf738ddb271b6b4158798baf4cac3cb0608e9 (diff) | |
download | dexon-0x-contracts-8d76d74a1713dcec140c8d43f9ea7612b5cc38f1.tar.gz dexon-0x-contracts-8d76d74a1713dcec140c8d43f9ea7612b5cc38f1.tar.zst dexon-0x-contracts-8d76d74a1713dcec140c8d43f9ea7612b5cc38f1.zip |
Implement `zeroEx.exchange.getOrderStateAsync`
Diffstat (limited to 'packages/0x.js/test')
-rw-r--r-- | packages/0x.js/test/exchange_wrapper_test.ts | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/packages/0x.js/test/exchange_wrapper_test.ts b/packages/0x.js/test/exchange_wrapper_test.ts index cfc390bae..b6eaa2591 100644 --- a/packages/0x.js/test/exchange_wrapper_test.ts +++ b/packages/0x.js/test/exchange_wrapper_test.ts @@ -14,7 +14,7 @@ import { LogCancelContractEventArgs, LogFillContractEventArgs, OrderCancellationRequest, - OrderFillRequest, + OrderFillRequest, OrderState, OrderStateInvalid, SignedOrder, Token, ZeroEx, @@ -1156,4 +1156,41 @@ describe('ExchangeWrapper', () => { expect(args.maker).to.be.equal(differentMakerAddress); }); }); + describe('#getOrderState', () => { + let maker: string; + let taker: string; + let makerToken: Token; + let takerToken: Token; + let signedOrder: SignedOrder; + let orderState: OrderState; + const fillableAmount = ZeroEx.toBaseUnitAmount(new BigNumber(5), constants.ZRX_DECIMALS); + before(async () => { + [, maker, taker] = userAddresses; + tokens = await zeroEx.tokenRegistry.getTokensAsync(); + [makerToken, takerToken] = tokenUtils.getDummyTokens(); + }); + it('should report orderStateValid when order is fillable', async () => { + signedOrder = await fillScenarios.createFillableSignedOrderAsync( + makerToken.address, + takerToken.address, + maker, + taker, + fillableAmount, + ); + orderState = await zeroEx.exchange.getOrderStateAsync(signedOrder); + expect(orderState.isValid).to.be.true(); + }); + it('should report orderStateInvalid when maker allowance set to 0', async () => { + signedOrder = await fillScenarios.createFillableSignedOrderAsync( + makerToken.address, + takerToken.address, + maker, + taker, + fillableAmount, + ); + await zeroEx.token.setProxyAllowanceAsync(makerToken.address, maker, new BigNumber(0)); + orderState = await zeroEx.exchange.getOrderStateAsync(signedOrder); + expect(orderState.isValid).to.be.false(); + }); + }); }); // tslint:disable:max-file-line-count |