From 1733f5491b37faaaa4a24463e806b1356d6fb6d7 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Mon, 11 Aug 2014 16:26:48 -0400 Subject: [PATCH] fix settings page and add tests --- js/controllers/settings.js | 139 +++++++++++------------ test/unit/controllers/controllersSpec.js | 34 ++++-- 2 files changed, 94 insertions(+), 79 deletions(-) diff --git a/js/controllers/settings.js b/js/controllers/settings.js index 36ffa144e..6ff26a035 100644 --- a/js/controllers/settings.js +++ b/js/controllers/settings.js @@ -1,83 +1,82 @@ 'use strict'; -angular.module('copayApp.controllers').controller('SettingsController', - function($scope, $rootScope, $window, $location) { +angular.module('copayApp.controllers').controller('SettingsController', function($scope, $rootScope, $window, $location, controllerUtils) { - controllerUtils.redirIfLogged(); - $scope.title = 'Settings'; - $scope.networkName = config.networkName; - $scope.insightHost = config.blockchain.host; - $scope.insightPort = config.blockchain.port; - $scope.insightSecure = config.blockchain.schema === 'https'; - $scope.networkKey = config.network.key; - $scope.networkHost = config.network.host; - $scope.networkPort = config.network.port; - $scope.networkSecure = config.network.secure || false; - $scope.disableVideo = typeof config.disableVideo === undefined ? true : config.disableVideo; - $scope.forceNetwork = config.forceNetwork; + controllerUtils.redirIfLogged(); + $scope.title = 'Settings'; + $scope.networkName = config.networkName; + $scope.insightHost = config.blockchain.host; + $scope.insightPort = config.blockchain.port; + $scope.insightSecure = config.blockchain.schema === 'https'; + $scope.networkKey = config.network.key; + $scope.networkHost = config.network.host; + $scope.networkPort = config.network.port; + $scope.networkSecure = config.network.secure || false; + $scope.disableVideo = typeof config.disableVideo === undefined ? true : config.disableVideo; + $scope.forceNetwork = config.forceNetwork; - $scope.unitOpts = [{ - name: 'Satoshis (100,000,000 satoshis = 1BTC)', - shortName: 'SAT', - value: 1 - }, { - name: 'bits (1,000,000 bits = 1BTC)', - shortName: 'bits', - value: 100 - }, { - name: 'mBTC (1,000 mBTC = 1BTC)', - shortName: 'mBTC', - value: 100000 - }, { - name: 'BTC', - shortName: 'BTC', - value: 100000000 - }]; + $scope.unitOpts = [{ + name: 'Satoshis (100,000,000 satoshis = 1BTC)', + shortName: 'SAT', + value: 1 + }, { + name: 'bits (1,000,000 bits = 1BTC)', + shortName: 'bits', + value: 100 + }, { + name: 'mBTC (1,000 mBTC = 1BTC)', + shortName: 'mBTC', + value: 100000 + }, { + name: 'BTC', + shortName: 'BTC', + value: 100000000 + }]; - for (var ii in $scope.unitOpts) { - if (config.unitName === $scope.unitOpts[ii].shortName) { - $scope.selectedUnit = $scope.unitOpts[ii]; - break; - } + for (var ii in $scope.unitOpts) { + if (config.unitName === $scope.unitOpts[ii].shortName) { + $scope.selectedUnit = $scope.unitOpts[ii]; + break; } + } - $scope.changeNetwork = function() { - $scope.insightHost = $scope.networkName !== 'testnet' ? 'test-insight.bitpay.com' : 'insight.bitpay.com'; - }; + $scope.changeNetwork = function() { + $scope.insightHost = $scope.networkName !== 'testnet' ? 'test-insight.bitpay.com' : 'insight.bitpay.com'; + }; - $scope.changeInsightSSL = function() { - $scope.insightPort = $scope.insightSecure ? 80 : 443; - }; + $scope.changeInsightSSL = function() { + $scope.insightPort = $scope.insightSecure ? 80 : 443; + }; - $scope.save = function() { - var network = config.network; - network.key = $scope.networkKey; - network.host = $scope.networkHost; - network.port = $scope.networkPort; - network.secure = $scope.networkSecure; + $scope.save = function() { + var network = config.network; + network.key = $scope.networkKey; + network.host = $scope.networkHost; + network.port = $scope.networkPort; + network.secure = $scope.networkSecure; - localStorage.setItem('config', JSON.stringify({ - networkName: $scope.networkName, - blockchain: { - host: $scope.insightHost, - port: $scope.insightPort, - schema: $scope.insightSecure ? 'https' : 'http', - }, - socket: { - host: $scope.insightHost, - port: $scope.insightPort, - schema: $scope.insightSecure ? 'https' : 'http', - }, - network: network, - disableVideo: $scope.disableVideo, - unitName: $scope.selectedUnit.shortName, - unitToSatoshi: $scope.selectedUnit.value, - })); + localStorage.setItem('config', JSON.stringify({ + networkName: $scope.networkName, + blockchain: { + host: $scope.insightHost, + port: $scope.insightPort, + schema: $scope.insightSecure ? 'https' : 'http', + }, + socket: { + host: $scope.insightHost, + port: $scope.insightPort, + schema: $scope.insightSecure ? 'https' : 'http', + }, + network: network, + disableVideo: $scope.disableVideo, + unitName: $scope.selectedUnit.shortName, + unitToSatoshi: $scope.selectedUnit.value, + })); - // Go home reloading the application - var hashIndex = window.location.href.indexOf('#!/'); - window.location = window.location.href.substr(0, hashIndex); - }; - }); + // Go home reloading the application + var hashIndex = window.location.href.indexOf('#!/'); + window.location = window.location.href.substr(0, hashIndex); + }; +}); diff --git a/test/unit/controllers/controllersSpec.js b/test/unit/controllers/controllersSpec.js index 9a8447000..0cbb52c8e 100644 --- a/test/unit/controllers/controllersSpec.js +++ b/test/unit/controllers/controllersSpec.js @@ -225,15 +225,15 @@ describe("Unit: Controllers", function() { beforeEach(inject(function($controller, $injector) { $httpBackend = $injector.get('$httpBackend'); $httpBackend.when('GET', GH) - .respond([{ - name: "v100.1.6", - zipball_url: "https://api.github.com/repos/bitpay/copay/zipball/v0.0.6", - tarball_url: "https://api.github.com/repos/bitpay/copay/tarball/v0.0.6", - commit: { - sha: "ead7352bf2eca705de58d8b2f46650691f2bc2c7", - url: "https://api.github.com/repos/bitpay/copay/commits/ead7352bf2eca705de58d8b2f46650691f2bc2c7" - } - }]); + .respond([{ + name: "v100.1.6", + zipball_url: "https://api.github.com/repos/bitpay/copay/zipball/v0.0.6", + tarball_url: "https://api.github.com/repos/bitpay/copay/tarball/v0.0.6", + commit: { + sha: "ead7352bf2eca705de58d8b2f46650691f2bc2c7", + url: "https://api.github.com/repos/bitpay/copay/commits/ead7352bf2eca705de58d8b2f46650691f2bc2c7" + } + }]); })); var rootScope; @@ -376,6 +376,22 @@ describe("Unit: Controllers", function() { }); }); + describe('Settings Controller', function() { + var what; + beforeEach(inject(function($controller, $rootScope) { + scope = $rootScope.$new(); + what = $controller('SettingsController', { + $scope: scope, + }); + })); + + it('should exist', function() { + should.exist(what); + }); + }); + + + describe('Join Controller', function() { var what; beforeEach(inject(function($controller, $rootScope) {