aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/config-manager-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/config-manager-test.js')
-rw-r--r--test/unit/config-manager-test.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/unit/config-manager-test.js b/test/unit/config-manager-test.js
new file mode 100644
index 000000000..10b6716d6
--- /dev/null
+++ b/test/unit/config-manager-test.js
@@ -0,0 +1,71 @@
+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)
+ })
+ })
+})