diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-03 20:53:37 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-04 16:14:19 +0800 |
commit | 087645e59fb78a1ce20bbbcabe12317f11324e93 (patch) | |
tree | dbc62150782675bde989c2ba25056f1fc9c95024 /test | |
parent | 0a12fa7f4e83562d48e143c30cb59645aa6b9b7a (diff) | |
download | dexon-0x-contracts-087645e59fb78a1ce20bbbcabe12317f11324e93.tar.gz dexon-0x-contracts-087645e59fb78a1ce20bbbcabe12317f11324e93.tar.zst dexon-0x-contracts-087645e59fb78a1ce20bbbcabe12317f11324e93.zip |
Add tests for zeroEx.token.getLogsAsync
Diffstat (limited to 'test')
-rw-r--r-- | test/token_wrapper_test.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/token_wrapper_test.ts b/test/token_wrapper_test.ts index 68dca0769..aacd9de40 100644 --- a/test/token_wrapper_test.ts +++ b/test/token_wrapper_test.ts @@ -14,6 +14,7 @@ import { ContractEvent, TransferContractEventArgs, ApprovalContractEventArgs, + LogWithDecodedArgs, } from '../src'; import {BlockchainLifecycle} from './utils/blockchain_lifecycle'; import {TokenUtils} from './utils/token_utils'; @@ -435,4 +436,40 @@ describe('TokenWrapper', () => { })().catch(done); }); }); + describe('#getLogsAsync', () => { + let tokenAddress: string; + let tokenTransferProxyAddress: string; + const subscriptionOpts: SubscriptionOpts = { + fromBlock: 0, + toBlock: 'latest', + }; + const indexFilterValues = {}; + before(async () => { + const token = tokens[0]; + tokenAddress = token.address; + tokenTransferProxyAddress = await zeroEx.proxy.getContractAddressAsync(); + }); + it('should get logs with decoded args emitted by Approval', async () => { + const txHash = await zeroEx.token.setUnlimitedProxyAllowanceAsync(tokenAddress, coinbase); + await zeroEx.awaitTransactionMinedAsync(txHash); + const eventName = TokenEvents.Approval; + const logs = await zeroEx.token.getLogsAsync( + tokenAddress, eventName, subscriptionOpts, indexFilterValues, + ) as LogWithDecodedArgs[]; + expect(logs).to.have.length(1); + expect(logs[0].event).to.be.equal(eventName); + expect(logs[0].args._owner).to.be.equal(coinbase); + expect(logs[0].args._spender).to.be.equal(tokenTransferProxyAddress); + expect(logs[0].args._value).to.be.bignumber.equal(zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS); + }); + it('should only get the logs with the correct event name', async () => { + const txHash = await zeroEx.token.setUnlimitedProxyAllowanceAsync(tokenAddress, coinbase); + await zeroEx.awaitTransactionMinedAsync(txHash); + const differentEventName = TokenEvents.Transfer; + const logs = await zeroEx.token.getLogsAsync( + tokenAddress, differentEventName, subscriptionOpts, indexFilterValues, + ) as LogWithDecodedArgs[]; + expect(logs).to.have.length(0); + }); + }); }); |