diff --git a/config.js b/config.js index 6ccd05934..b99dc7d25 100644 --- a/config.js +++ b/config.js @@ -73,6 +73,8 @@ var defaultConfig = { salt: 'jBbYTj8zTrOt6V', }, + minPasswordStrength: 4, + /* GoogleDrive: { home: 'copay', diff --git a/js/controllers/createProfile.js b/js/controllers/createProfile.js index 3f15df04b..b3e76404a 100644 --- a/js/controllers/createProfile.js +++ b/js/controllers/createProfile.js @@ -13,6 +13,8 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun $scope.createStep = 'storage'; $scope.useLocalstorage = false; + $scope.minPasswordStrength = _.isUndefined(config.minPasswordStrength) ? + 4 : config.minPasswordStrength; pinService.makePinInput($scope, 'newpin', function(newValue) { _firstpin = newValue; diff --git a/js/directives.js b/js/directives.js index a83fd7d1c..6649261f8 100644 --- a/js/directives.js +++ b/js/directives.js @@ -208,7 +208,7 @@ angular.module('copayApp.directives') var MIN_LENGTH = 8; var MESSAGES = ['Very Weak', 'Very Weak', 'Weak', 'Medium', 'Strong', 'Very Strong']; - var COLOR = ['#dd514c', '#dd514c', '#faa732', '#faa732', '#5eb95e', '#5eb95e']; + var COLOR = ['#dd514c', '#dd514c', '#faa732', '#faa732', '#16A085', '#16A085']; function evaluateMeter(password) { var passwordStrength = 0; @@ -250,10 +250,7 @@ angular.module('copayApp.directives') scope.$watch(attrs.ngModel, function(newValue, oldValue) { if (newValue && newValue !== '') { var info = evaluateMeter(newValue); - element.css({ - 'border-color': info.color - }); - scope[attrs.checkStrength] = info.message; + scope[attrs.checkStrength] = info; } }); } diff --git a/test/unit/directives/directivesSpec.js b/test/unit/directives/directivesSpec.js index d8d60c304..507e3c159 100644 --- a/test/unit/directives/directivesSpec.js +++ b/test/unit/directives/directivesSpec.js @@ -191,25 +191,26 @@ describe("Unit: Testing Directives", function() { it('should check very weak password', function() { $scope.password = 'asd'; $scope.$digest(); - expect($scope.passwordStrength).to.equal('Very Weak, that\'s short'); + expect($scope.passwordStrength.strength).to.equal(1); }); + it('should check weak password', function() { $scope.password = 'asdasdASDASD'; $scope.$digest(); - expect($scope.passwordStrength).to.equal('Weak, add numerals'); + expect($scope.passwordStrength.message).to.equal('Weak, add numerals'); }); it('should check medium password', function() { $scope.password = 'asdasdA1'; $scope.$digest(); - expect($scope.passwordStrength).to.equal('Medium, add punctuation'); + expect($scope.passwordStrength.message).to.equal('Medium, add punctuation'); }); it('should check strong password', function() { $scope.password = 'asdasdASDASD1{'; $scope.$digest(); - expect($scope.passwordStrength).to.equal('Strong, add punctuation'); + expect($scope.passwordStrength.message).to.equal('Strong, add punctuation'); }); }); diff --git a/views/createProfile.html b/views/createProfile.html index 7503a48e9..d0a0c86ad 100644 --- a/views/createProfile.html +++ b/views/createProfile.html @@ -147,11 +147,24 @@
+ +
+
+ + +
+ + Password Strength: {{passwordStrength.message}} + +
+ +
- +
+
@@ -167,7 +180,7 @@
-