diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-09-18 22:54:24 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-09-18 22:54:24 +0800 |
commit | 40a0d345b5fc00d36928387cd558133358624f12 (patch) | |
tree | c666bd7e94df75c4c6f0ac44efd15492a4f8277a | |
parent | 504e7a25a5ee138941ca35d4aad1b63444e47033 (diff) | |
download | dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.tar dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.tar.gz dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.tar.bz2 dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.tar.lz dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.tar.xz dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.tar.zst dexon-sol-tools-40a0d345b5fc00d36928387cd558133358624f12.zip |
Add tests for contracts address config
-rw-r--r-- | src/contract_wrappers/token_registry_wrapper.ts | 10 | ||||
-rw-r--r-- | test/0x.js_test.ts | 29 |
2 files changed, 37 insertions, 2 deletions
diff --git a/src/contract_wrappers/token_registry_wrapper.ts b/src/contract_wrappers/token_registry_wrapper.ts index 0807982b1..fb0ab78f6 100644 --- a/src/contract_wrappers/token_registry_wrapper.ts +++ b/src/contract_wrappers/token_registry_wrapper.ts @@ -84,6 +84,16 @@ export class TokenRegistryWrapper extends ContractWrapper { const token = this._createTokenFromMetadata(metadata); return token; } + /** + * Retrieves the Ethereum address of the TokenRegistry contract deployed on the network + * that the user-passed web3 provider is connected to. + * @returns The Ethereum address of the TokenRegistry contract being used. + */ + public async getContractAddressAsync(): Promise<string> { + const tokenRegistryInstance = await this._getTokenRegistryContractAsync(); + const tokenRegistryAddress = tokenRegistryInstance.address; + return tokenRegistryAddress; + } private _createTokenFromMetadata(metadata: TokenMetadata): Token|undefined { if (metadata[0] === constants.NULL_ADDRESS) { return undefined; diff --git a/test/0x.js_test.ts b/test/0x.js_test.ts index 5461a7d3f..cc6b91e99 100644 --- a/test/0x.js_test.ts +++ b/test/0x.js_test.ts @@ -4,12 +4,11 @@ import {chaiSetup} from './utils/chai_setup'; import 'mocha'; import * as BigNumber from 'bignumber.js'; import * as Sinon from 'sinon'; -import {ZeroEx, Order} from '../src'; +import {ZeroEx, Order, ZeroExError, LogWithDecodedArgs} from '../src'; import {constants} from './utils/constants'; import {TokenUtils} from './utils/token_utils'; import {web3Factory} from './utils/web3_factory'; import {BlockchainLifecycle} from './utils/blockchain_lifecycle'; -import {LogWithDecodedArgs} from '../src'; const blockchainLifecycle = new BlockchainLifecycle(); chaiSetup.configure(); @@ -231,4 +230,30 @@ describe('ZeroEx library', () => { expect(log.args._value).to.be.bignumber.equal(zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS); }); }); + describe('#config', () => { + it('allows to specify exchange contract address', async () => { + const config = { + exchangeContractAddress: ZeroEx.NULL_ADDRESS, + }; + const zeroExWithWrongExchangeAddress = new ZeroEx(web3.currentProvider, config); + return expect(zeroExWithWrongExchangeAddress.exchange.getContractAddressAsync()) + .to.be.rejectedWith(ZeroExError.ContractDoesNotExist); + }); + it('allows to specify ether token contract address', async () => { + const config = { + etherTokenContractAddress: ZeroEx.NULL_ADDRESS, + }; + const zeroExWithWrongEtherTokenAddress = new ZeroEx(web3.currentProvider, config); + return expect(zeroExWithWrongEtherTokenAddress.etherToken.getContractAddressAsync()) + .to.be.rejectedWith(ZeroExError.ContractDoesNotExist); + }); + it('allows to specify token registry token contract address', async () => { + const config = { + tokenRegistryContractAddress: ZeroEx.NULL_ADDRESS, + }; + const zeroExWithWrongTokenRegistryAddress = new ZeroEx(web3.currentProvider, config); + return expect(zeroExWithWrongTokenRegistryAddress.tokenRegistry.getContractAddressAsync()) + .to.be.rejectedWith(ZeroExError.ContractDoesNotExist); + }); + }); }); |