Merge pull request #1777 from MetaMask/InfuraTest

Infura Network response tests
This commit is contained in:
kumavis 2017-07-14 14:39:18 -07:00 committed by GitHub
commit 43a3d0d01d
3 changed files with 64 additions and 35 deletions

View File

@ -26,6 +26,7 @@ class InfuraController {
this.store.updateState({
infuraNetworkStatus: parsedResponse,
})
return parsedResponse
})
}

View File

@ -176,7 +176,7 @@
"react-addons-test-utils": "^15.5.1",
"react-test-renderer": "^15.5.4",
"react-testutils-additions": "^15.2.0",
"sinon": "^1.17.3",
"sinon": "^2.3.8",
"tape": "^4.5.1",
"testem": "^1.10.3",
"uglifyify": "^3.0.1",

View File

@ -1,34 +1,62 @@
// polyfill fetch
// global.fetch = function () {return Promise.resolve({
// json: () => { return Promise.resolve({"mainnet": "ok", "ropsten": "degraded", "kovan": "down", "rinkeby": "ok"}) },
// })
// }
// const assert = require('assert')
// const InfuraController = require('../../app/scripts/controllers/infura')
//
// describe('infura-controller', function () {
// var infuraController
//
// beforeEach(function () {
// infuraController = new InfuraController()
// })
//
// describe('network status queries', function () {
// describe('#checkInfuraNetworkStatus', function () {
// it('should return an object reflecting the network statuses', function (done) {
// this.timeout(15000)
// infuraController.checkInfuraNetworkStatus()
// .then(() => {
// const networkStatus = infuraController.store.getState().infuraNetworkStatus
// assert.equal(Object.keys(networkStatus).length, 4)
// assert.equal(networkStatus.mainnet, 'ok')
// assert.equal(networkStatus.ropsten, 'degraded')
// assert.equal(networkStatus.kovan, 'down')
// })
// .then(() => done())
// .catch(done)
//
// })
// })
// })
// })
const assert = require('assert')
const sinon = require('sinon')
const InfuraController = require('../../app/scripts/controllers/infura')
describe('infura-controller', function () {
let infuraController, sandbox, networkStatus
const response = {'mainnet': 'degraded', 'ropsten': 'ok', 'kovan': 'ok', 'rinkeby': 'down'}
before(async function () {
infuraController = new InfuraController()
sandbox = sinon.sandbox.create()
sinon.stub(infuraController, 'checkInfuraNetworkStatus').resolves(response)
networkStatus = await infuraController.checkInfuraNetworkStatus()
})
after(function () {
sandbox.restore()
})
describe('Network status queries', function () {
describe('Mainnet', function () {
it('should have Mainnet', function () {
assert.equal(Object.keys(networkStatus)[0], 'mainnet')
})
it('should have a value for Mainnet status', function () {
assert.equal(networkStatus.mainnet, 'degraded')
})
})
describe('Ropsten', function () {
it('should have Ropsten', function () {
assert.equal(Object.keys(networkStatus)[1], 'ropsten')
})
it('should have a value for Ropsten status', function () {
assert.equal(networkStatus.ropsten, 'ok')
})
})
describe('Kovan', function () {
it('should have Kovan', function () {
assert.equal(Object.keys(networkStatus)[2], 'kovan')
})
it('should have a value for Kovan status', function () {
assert.equal(networkStatus.kovan, 'ok')
})
})
describe('Rinkeby', function () {
it('should have Rinkeby', function () {
assert.equal(Object.keys(networkStatus)[3], 'rinkeby')
})
it('should have a value for Rinkeby status', function () {
assert.equal(networkStatus.rinkeby, 'down')
})
})
})
})