Merge pull request #392 from 0xProject/feature/subproviders_move
Move subproviders from dev-utils to subproviders package and add tests for dev-utils
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
# CHANGELOG
|
||||
|
||||
## v0.1.0 - _TBD, 2018_
|
||||
|
||||
* Remove subproviders (#392)
|
||||
|
||||
## v0.0.12 - _February 9, 2018_
|
||||
|
||||
* Fix publishing issue where .npmignore was not properly excluding undesired content (#389)
|
||||
|
||||
@@ -2,13 +2,16 @@
|
||||
"name": "@0xproject/dev-utils",
|
||||
"version": "0.0.13",
|
||||
"description": "0x dev TS utils",
|
||||
"main": "lib/index.js",
|
||||
"types": "lib/index.d.ts",
|
||||
"main": "lib/src/index.js",
|
||||
"types": "lib/src/index.d.ts",
|
||||
"scripts": {
|
||||
"build:watch": "tsc -w",
|
||||
"build": "tsc",
|
||||
"test": "run-s clean build run_mocha",
|
||||
"test:circleci": "yarn test",
|
||||
"run_mocha": "mocha lib/test/**/*_test.js --bail --exit",
|
||||
"clean": "shx rm -rf lib",
|
||||
"lint": "tslint --project . 'src/**/*.ts'"
|
||||
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"repository": {
|
||||
@@ -20,9 +23,14 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x.js/packages/dev-utils/README.md",
|
||||
"devDependencies": {
|
||||
"@types/mocha": "^2.2.42",
|
||||
"@0xproject/tslint-config": "^0.4.9",
|
||||
"@0xproject/types": "^0.2.2",
|
||||
"@0xproject/web3-wrapper": "^0.1.13",
|
||||
"@types/lodash": "^4.14.86",
|
||||
"chai": "^4.0.1",
|
||||
"chai-typescript-typings": "^0.0.3",
|
||||
"mocha": "^4.0.1",
|
||||
"npm-run-all": "^4.1.2",
|
||||
"shx": "^0.2.2",
|
||||
"tslint": "5.8.0",
|
||||
@@ -32,6 +40,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@0xproject/utils": "^0.3.3",
|
||||
"@0xproject/subproviders": "^0.4.2",
|
||||
"ethereumjs-util": "^5.1.2",
|
||||
"lodash": "^4.17.4",
|
||||
"request-promise-native": "^1.0.5",
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
import ProviderEngine = require('web3-provider-engine');
|
||||
import RpcSubprovider = require('web3-provider-engine/subproviders/rpc');
|
||||
|
||||
import { EmptyWalletSubprovider } from './subproviders/empty_wallet_subprovider';
|
||||
import { FakeGasEstimateSubprovider } from './subproviders/fake_gas_estimate_subprovider';
|
||||
import { EmptyWalletSubprovider, FakeGasEstimateSubprovider } from '@0xproject/subproviders';
|
||||
|
||||
import { constants } from './constants';
|
||||
|
||||
|
||||
27
packages/dev-utils/test/blockchain_lifecycle_test.ts
Normal file
27
packages/dev-utils/test/blockchain_lifecycle_test.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { BlockParamLiteral } from '@0xproject/types';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as chai from 'chai';
|
||||
import 'mocha';
|
||||
|
||||
import { BlockchainLifecycle, RPC, web3Factory } from '../src';
|
||||
|
||||
const expect = chai.expect;
|
||||
|
||||
describe('BlockchainLifecycle tests', () => {
|
||||
const web3 = web3Factory.create();
|
||||
const web3Wrapper = new Web3Wrapper(web3.currentProvider);
|
||||
const rpc = new RPC();
|
||||
const blockchainLifecycle = new BlockchainLifecycle();
|
||||
describe('#startAsync/revertAsync', () => {
|
||||
it('reverts changes in between', async () => {
|
||||
const blockNumberBefore = await web3Wrapper.getBlockNumberAsync();
|
||||
await blockchainLifecycle.startAsync();
|
||||
await rpc.mineBlockAsync();
|
||||
const blockNumberAfter = await web3Wrapper.getBlockNumberAsync();
|
||||
expect(blockNumberAfter).to.be.equal(blockNumberBefore + 1);
|
||||
await blockchainLifecycle.revertAsync();
|
||||
const blockNumberAfterRevert = await web3Wrapper.getBlockNumberAsync();
|
||||
expect(blockNumberAfterRevert).to.be.equal(blockNumberBefore);
|
||||
});
|
||||
});
|
||||
});
|
||||
42
packages/dev-utils/test/rpc_test.ts
Normal file
42
packages/dev-utils/test/rpc_test.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { BlockParamLiteral } from '@0xproject/types';
|
||||
import { Web3Wrapper } from '@0xproject/web3-wrapper';
|
||||
import * as chai from 'chai';
|
||||
import 'mocha';
|
||||
|
||||
import { RPC, web3Factory } from '../src';
|
||||
|
||||
const expect = chai.expect;
|
||||
|
||||
describe('RPC tests', () => {
|
||||
const web3 = web3Factory.create();
|
||||
const web3Wrapper = new Web3Wrapper(web3.currentProvider);
|
||||
const rpc = new RPC();
|
||||
describe('#mineBlockAsync', () => {
|
||||
it('increases block number when called', async () => {
|
||||
const blockNumberBefore = await web3Wrapper.getBlockNumberAsync();
|
||||
await rpc.mineBlockAsync();
|
||||
const blockNumberAfter = await web3Wrapper.getBlockNumberAsync();
|
||||
expect(blockNumberAfter).to.be.equal(blockNumberBefore + 1);
|
||||
});
|
||||
});
|
||||
describe('#increaseTimeAsync', () => {
|
||||
it('increases time when called', async () => {
|
||||
const TIME_DELTA = 1000;
|
||||
const blockTimestampBefore = await web3Wrapper.getBlockTimestampAsync(BlockParamLiteral.Latest);
|
||||
await rpc.increaseTimeAsync(TIME_DELTA);
|
||||
await rpc.mineBlockAsync();
|
||||
const blockTimestampAfter = await web3Wrapper.getBlockTimestampAsync(BlockParamLiteral.Latest);
|
||||
expect(blockTimestampAfter).to.be.at.least(blockTimestampBefore + TIME_DELTA);
|
||||
});
|
||||
});
|
||||
describe('#takeSnapshotAsync/revertSnapshotAsync', () => {
|
||||
it('reverts changes in between', async () => {
|
||||
const blockNumberBefore = await web3Wrapper.getBlockNumberAsync();
|
||||
const snapshotId = await rpc.takeSnapshotAsync();
|
||||
await rpc.mineBlockAsync();
|
||||
await rpc.revertSnapshotAsync(snapshotId);
|
||||
const blockNumberAfter = await web3Wrapper.getBlockNumberAsync();
|
||||
expect(blockNumberAfter).to.be.equal(blockNumberBefore);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -5,7 +5,9 @@
|
||||
},
|
||||
"include": [
|
||||
"./src/**/*",
|
||||
"./test/**/*",
|
||||
"../../node_modules/types-bn/index.d.ts",
|
||||
"../../node_modules/chai-typescript-typings/index.d.ts",
|
||||
"../../node_modules/web3-typescript-typings/index.d.ts",
|
||||
"../../node_modules/types-ethereumjs-util/index.d.ts"
|
||||
]
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# CHANGELOG
|
||||
|
||||
## v0.5.0 - _TBD, 2018_
|
||||
|
||||
* Add EmptyWalletSubprovider and FakeGasEstimateSubprovider (#392)
|
||||
|
||||
## v0.4.1 - _February 9, 2018_
|
||||
|
||||
* Fix publishing issue where .npmignore was not properly excluding undesired content (#389)
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
|
||||
import { LedgerEthereumClient } from './types';
|
||||
|
||||
export { EmptyWalletSubprovider } from './subproviders/empty_wallet_subprovider';
|
||||
export { FakeGasEstimateSubprovider } from './subproviders/fake_gas_estimate_subprovider';
|
||||
export { InjectedWeb3Subprovider } from './subproviders/injected_web3';
|
||||
export { RedundantRPCSubprovider } from './subproviders/redundant_rpc';
|
||||
export { LedgerSubprovider } from './subproviders/ledger';
|
||||
|
||||
Reference in New Issue
Block a user