aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/app/controllers/network-contoller-test.js
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2018-05-23 04:20:04 +0800
committerkumavis <aaron@kumavis.me>2018-05-23 04:20:04 +0800
commit3a80f3dd836889b7e4f4d4db8eaf42883623d9bf (patch)
treebcde7f3a6acbdf311bf66b70be6bfac2b3ed088a /test/unit/app/controllers/network-contoller-test.js
parent3084dc47d10e3e455c924e5aad0b0961c500ec8d (diff)
parentcee55b47d03006630b1dbe038c6008654ca8f674 (diff)
downloadtangerine-wallet-browser-3a80f3dd836889b7e4f4d4db8eaf42883623d9bf.tar.gz
tangerine-wallet-browser-3a80f3dd836889b7e4f4d4db8eaf42883623d9bf.tar.zst
tangerine-wallet-browser-3a80f3dd836889b7e4f4d4db8eaf42883623d9bf.zip
Merge branch 'develop' of github.com:MetaMask/metamask-extension into network-remove-provider-engine
Diffstat (limited to 'test/unit/app/controllers/network-contoller-test.js')
-rw-r--r--test/unit/app/controllers/network-contoller-test.js103
1 files changed, 103 insertions, 0 deletions
diff --git a/test/unit/app/controllers/network-contoller-test.js b/test/unit/app/controllers/network-contoller-test.js
new file mode 100644
index 000000000..701eb5718
--- /dev/null
+++ b/test/unit/app/controllers/network-contoller-test.js
@@ -0,0 +1,103 @@
+const assert = require('assert')
+const nock = require('nock')
+const NetworkController = require('../../../../app/scripts/controllers/network')
+const {
+ getNetworkDisplayName,
+} = require('../../../../app/scripts/controllers/network/util')
+
+const { createTestProviderTools } = require('../../../stub/provider')
+const providerResultStub = {}
+
+describe('# Network Controller', function () {
+ let networkController
+ const noop = () => {}
+ const networkControllerProviderConfig = {
+ getAccounts: noop,
+ }
+
+ beforeEach(function () {
+
+ nock('https://rinkeby.infura.io')
+ .persist()
+ .post('/metamask')
+ .reply(200)
+
+ networkController = new NetworkController()
+
+ networkController.initializeProvider(networkControllerProviderConfig)
+ })
+
+ afterEach(function () {
+ nock.cleanAll()
+ })
+
+ describe('network', function () {
+ describe('#provider', function () {
+ it.only('provider should be updatable without reassignment', function () {
+ networkController.initializeProvider(networkControllerProviderConfig)
+ const providerProxy = networkController.getProviderAndBlockTracker().provider
+ assert.equal(providerProxy.test, undefined)
+ providerProxy.setTarget({ test: true })
+ assert.equal(providerProxy.test, true)
+ })
+ })
+ describe('#getNetworkState', function () {
+ it('should return loading when new', function () {
+ const networkState = networkController.getNetworkState()
+ assert.equal(networkState, 'loading', 'network is loading')
+ })
+ })
+
+ describe('#setNetworkState', function () {
+ it('should update the network', function () {
+ networkController.setNetworkState(1)
+ const networkState = networkController.getNetworkState()
+ assert.equal(networkState, 1, 'network is 1')
+ })
+ })
+
+ describe('#setProviderType', function () {
+ it('should update provider.type', function () {
+ networkController.setProviderType('mainnet')
+ const type = networkController.getProviderConfig().type
+ assert.equal(type, 'mainnet', 'provider type is updated')
+ })
+ it('should set the network to loading', function () {
+ networkController.setProviderType('mainnet')
+ const loading = networkController.isNetworkLoading()
+ assert.ok(loading, 'network is loading')
+ })
+ })
+ })
+})
+
+describe('Network utils', () => {
+ it('getNetworkDisplayName should return the correct network name', () => {
+ const tests = [
+ {
+ input: 3,
+ expected: 'Ropsten',
+ }, {
+ input: 4,
+ expected: 'Rinkeby',
+ }, {
+ input: 42,
+ expected: 'Kovan',
+ }, {
+ input: 'ropsten',
+ expected: 'Ropsten',
+ }, {
+ input: 'rinkeby',
+ expected: 'Rinkeby',
+ }, {
+ input: 'kovan',
+ expected: 'Kovan',
+ }, {
+ input: 'mainnet',
+ expected: 'Main Ethereum Network',
+ },
+ ]
+
+ tests.forEach(({ input, expected }) => assert.equal(getNetworkDisplayName(input), expected))
+ })
+})