var assert = require('assert') var ConfigManager = require('../../app/scripts/lib/config-manager') var configManager describe('config-manager', function() { before(function() { window.localStorage = {} // Hacking localStorage support into JSDom configManager = new ConfigManager() }) describe('#setConfig', function() { window.localStorage = {} // Hacking localStorage support into JSDom it('should set the config key', function () { var testConfig = { provider: { type: 'rpc', rpcTarget: 'foobar' } } configManager.setConfig(testConfig) var result = configManager.getData() assert.equal(result.config.provider.type, testConfig.provider.type) assert.equal(result.config.provider.rpcTarget, testConfig.provider.rpcTarget) }) it('setting wallet should not overwrite config', function() { var testConfig = { provider: { type: 'rpc', rpcTarget: 'foobar' } } configManager.setConfig(testConfig) var testWallet = { name: 'this is my fake wallet' } configManager.setWallet(testWallet) var result = configManager.getData() assert.equal(result.wallet.name, testWallet.name, 'wallet name is set') assert.equal(result.config.provider.rpcTarget, testConfig.provider.rpcTarget) testConfig.provider.type = 'something else!' configManager.setConfig(testConfig) result = configManager.getData() assert.equal(result.wallet.name, testWallet.name, 'wallet name is set') assert.equal(result.config.provider.rpcTarget, testConfig.provider.rpcTarget) assert.equal(result.config.provider.type, testConfig.provider.type) }) }) describe('rpc manipulations', function() { it('changing rpc should return a different rpc', function() { var firstRpc = 'first' var secondRpc = 'second' configManager.setRpcTarget(firstRpc) var firstResult = configManager.getCurrentRpcAddress() assert.equal(firstResult, firstRpc) configManager.setRpcTarget(secondRpc) var secondResult = configManager.getCurrentRpcAddress() assert.equal(secondResult, secondRpc) }) }) })