Merge pull request #115 from MetaMask/UnifyTestSuites

Unify test suites
This commit is contained in:
Dan Finlay 2016-04-18 12:09:20 -07:00
commit 15e953f11f
12 changed files with 31 additions and 43 deletions

View File

@ -44,18 +44,11 @@ To enjoy the live-reloading that `gulp dev` offers while working on the `web3-pr
### Running Tests
Currently the tests are split between two suites (we recently merged the UI into the main plugin repository). There are two different test suites to be concerned with:
Plugin tests, `npm test`.
UI tests, `npm run testUi`.
You can also run both of these with continuously watching processes, via `npm run watch` and `npm run watchUi`.
#### UI Testing Particulars
Requires `mocha` installed. Run `npm install -g mocha`.
You can either run the test suite once with `npm testUi`, or you can reload on file changes, by running `mocha watch ui/test/**/**`.
Then just run `npm test`.
You can also test with a continuously watching process, via `npm run watch`.
### Deploying the UI

View File

@ -5,11 +5,8 @@
"private": true,
"scripts": {
"start": "gulp dev",
"test": "npm run testUi",
"testPlugin": "mocha --require test/helper.js --compilers js:babel-register --recursive",
"watch": "mocha watch --compilers js:babel-register --recursive",
"testUi": "mocha ui/test/**/**/*test.js",
"watchUi": "mocha watch ui/test/**/*test.js"
"test": "mocha --require test/helper.js --compilers js:babel-register --recursive",
"watch": "mocha watch --compilers js:babel-register --recursive"
},
"browserify": {
"transform": [
@ -41,13 +38,14 @@
"metamask-logo": "^1.1.5",
"multiplex": "^6.7.0",
"pojo-migrator": "^2.1.0",
"polyfill-crypto.getrandomvalues": "^1.0.0",
"pumpify": "^1.3.4",
"react": "^0.14.3",
"react-addons-css-transition-group": "^0.14.7",
"react-dom": "^0.14.3",
"react-hyperscript": "^2.2.2",
"readable-stream": "^2.0.5",
"react-redux": "^4.0.3",
"readable-stream": "^2.0.5",
"redux": "^3.0.5",
"redux-logger": "^2.3.1",
"redux-thunk": "^1.0.2",

View File

@ -1,2 +1,5 @@
require('jsdom-global')()
window.localStorage = {}
if (!('crypto' in window)) { window.crypto = {} }
window.crypto.getRandomValues = require('polyfill-crypto.getrandomvalues')

View File

@ -3,8 +3,8 @@ var assert = require('assert')
var freeze = require('deep-freeze-strict')
var path = require('path')
var actions = require(path.join(__dirname, '..', '..', '..', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'app', 'reducers.js'))
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe ('config view actions', function() {

View File

@ -4,8 +4,8 @@ var freeze = require('deep-freeze-strict')
var path = require('path')
var sinon = require('sinon')
var actions = require(path.join(__dirname, '..', '..', '..', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'app', 'reducers.js'))
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe('#recoverFromSeed(password, seed)', function() {

View File

@ -3,8 +3,8 @@ var assert = require('assert')
var freeze = require('deep-freeze-strict')
var path = require('path')
var actions = require(path.join(__dirname, '..', '..', '..', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'app', 'reducers.js'))
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe('SET_SELECTED_ACCOUNT', function() {

View File

@ -3,8 +3,8 @@ var assert = require('assert')
var freeze = require('deep-freeze-strict')
var path = require('path')
var actions = require(path.join(__dirname, '..', '..', '..', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'app', 'reducers.js'))
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe('tx confirmation screen', function() {
var initialState, result

View File

@ -3,8 +3,8 @@ var assert = require('assert')
var freeze = require('deep-freeze-strict')
var path = require('path')
var actions = require(path.join(__dirname, '..', '..', '..', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'app', 'reducers.js'))
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe('SHOW_INFO_PAGE', function() {

View File

@ -3,8 +3,8 @@ var assert = require('assert')
var freeze = require('deep-freeze-strict')
var path = require('path')
var actions = require(path.join(__dirname, '..', '..', '..', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'app', 'reducers.js'))
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe('action DISPLAY_WARNING', function() {

View File

@ -1,14 +1,16 @@
var test = require('tape')
var assert = require('assert')
var path = require('path')
var wallet1 = require(path.join('..', 'lib', 'migrations', '001.json'))
var migration2 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '002'))
test('wallet1 is migrated successfully', function(t) {
var result = migration2.migrate(wallet1.data)
t.equal(result.config.provider.type, 'rpc', 'provider should be rpc')
t.equal(result.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'provider should be our rpc')
describe('wallet1 is migrated successfully', function() {
it('should convert etherscan provider', function(done) {
var result = migration2.migrate(wallet1.data)
assert.equal(result.config.provider.type, 'rpc', 'provider should be rpc')
assert.equal(result.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'provider should be our rpc')
done()
})
})

View File

@ -3,7 +3,7 @@ var sinon = require('sinon')
const ethUtil = require('ethereumjs-util')
var path = require('path')
var util = require(path.join(__dirname, '..', '..', 'app', 'util.js'))
var util = require(path.join(__dirname, '..', '..', 'ui', 'app', 'util.js'))
describe('util', function() {
var ethInWei = '1'

View File

@ -1,8 +0,0 @@
if (typeof process === 'object') {
// Initialize node environment
global.expect = require('chai').expect
require('mocha-jsdom')()
} else {
window.expect = window.chai.expect
window.require = function () { /* noop */ }
}