aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/app/controllers/network-contoller-test.js
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-05-23 04:02:41 +0800
committerGitHub <noreply@github.com>2018-05-23 04:02:41 +0800
commitcee55b47d03006630b1dbe038c6008654ca8f674 (patch)
treefe818a80ee98ee76a53e9be6087c09be02241503 /test/unit/app/controllers/network-contoller-test.js
parent492b4a674392e4772ef8e2cc8f5836b882cfeec7 (diff)
parent238f2eb179895bbb9e2a2ec26863041564c90a9d (diff)
downloadtangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.tar
tangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.tar.gz
tangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.tar.bz2
tangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.tar.lz
tangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.tar.xz
tangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.tar.zst
tangerine-wallet-browser-cee55b47d03006630b1dbe038c6008654ca8f674.zip
Merge pull request #4321 from MetaMask/testing
MM controller tests and reorganizing test files
Diffstat (limited to 'test/unit/app/controllers/network-contoller-test.js')
-rw-r--r--test/unit/app/controllers/network-contoller-test.js102
1 files changed, 102 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..789850ef3
--- /dev/null
+++ b/test/unit/app/controllers/network-contoller-test.js
@@ -0,0 +1,102 @@
+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('provider should be updatable without reassignment', function () {
+ networkController.initializeProvider(networkControllerProviderConfig)
+ const proxy = networkController._proxy
+ proxy.setTarget({ test: true, on: () => {} })
+ assert.ok(proxy.test)
+ })
+ })
+ 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))
+ })
+})