aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/test/exchange/wrapper.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-01-19 21:54:44 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-01-30 23:01:36 +0800
commitf2b2b867866faa92256bc175e651e038001cef4d (patch)
tree219be7d10aee221ae25b848b67c573ba0ae59bdc /packages/contracts/test/exchange/wrapper.ts
parentd0fbea76d8790c56d07dcfe858e4969fe218cea1 (diff)
downloaddexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.tar
dexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.tar.gz
dexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.tar.bz2
dexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.tar.lz
dexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.tar.xz
dexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.tar.zst
dexon-sol-tools-f2b2b867866faa92256bc175e651e038001cef4d.zip
Remove truffle from Exchange tests
Diffstat (limited to 'packages/contracts/test/exchange/wrapper.ts')
-rw-r--r--packages/contracts/test/exchange/wrapper.ts31
1 files changed, 24 insertions, 7 deletions
diff --git a/packages/contracts/test/exchange/wrapper.ts b/packages/contracts/test/exchange/wrapper.ts
index 91807fc37..22deec01c 100644
--- a/packages/contracts/test/exchange/wrapper.ts
+++ b/packages/contracts/test/exchange/wrapper.ts
@@ -1,7 +1,10 @@
import { ZeroEx } from '0x.js';
+import { BlockchainLifecycle } from '@0xproject/dev-utils';
import { BigNumber } from '@0xproject/utils';
+import { Web3Wrapper } from '@0xproject/web3-wrapper';
import * as chai from 'chai';
import * as _ from 'lodash';
+import * as Web3 from 'web3';
import { Artifacts } from '../../util/artifacts';
import { Balances } from '../../util/balances';
@@ -15,12 +18,17 @@ import { chaiSetup } from '../utils/chai_setup';
chaiSetup.configure();
const expect = chai.expect;
const { Exchange, TokenTransferProxy, DummyToken, TokenRegistry } = new Artifacts(artifacts);
-
-contract('Exchange', (accounts: string[]) => {
- const maker = accounts[0];
- const tokenOwner = accounts[0];
- const taker = accounts[1] || accounts[accounts.length - 1];
- const feeRecipient = accounts[2] || accounts[accounts.length - 1];
+// In order to benefit from type-safety, we re-assign the global web3 instance injected by Truffle
+// with type `any` to a variable of type `Web3`.
+const web3: Web3 = (global as any).web3;
+const blockchainLifecycle = new BlockchainLifecycle(constants.RPC_URL);
+
+describe('Exchange', () => {
+ const web3Wrapper = new Web3Wrapper(web3.currentProvider);
+ let maker: string;
+ let tokenOwner: string;
+ let taker: string;
+ let feeRecipient: string;
const INIT_BAL = ZeroEx.toBaseUnitAmount(new BigNumber(10000), 18);
const INIT_ALLOW = ZeroEx.toBaseUnitAmount(new BigNumber(10000), 18);
@@ -38,6 +46,10 @@ contract('Exchange', (accounts: string[]) => {
let orderFactory: OrderFactory;
before(async () => {
+ const accounts = await web3Wrapper.getAvailableAddressesAsync();
+ tokenOwner = maker = accounts[0];
+ taker = accounts[1] || accounts[accounts.length - 1];
+ feeRecipient = accounts[2] || accounts[accounts.length - 1];
[tokenRegistry, exchange] = await Promise.all([TokenRegistry.deployed(), Exchange.deployed()]);
exWrapper = new ExchangeWrapper(exchange);
const [repAddress, dgdAddress, zrxAddress] = await Promise.all([
@@ -80,7 +92,12 @@ contract('Exchange', (accounts: string[]) => {
zrx.setBalance(taker, INIT_BAL, { from: tokenOwner }),
]);
});
-
+ beforeEach(async () => {
+ await blockchainLifecycle.startAsync();
+ });
+ afterEach(async () => {
+ await blockchainLifecycle.revertAsync();
+ });
describe('fillOrKillOrder', () => {
beforeEach(async () => {
balances = await dmyBalances.getAsync();