From 8b25b5932f9e86a57087dc09664713ed0fd5f67d Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Tue, 1 Jul 2014 19:49:05 -0300 Subject: [PATCH] add tests and fix some minor issues --- js/controllers/uriPayment.js | 6 ++--- js/services/uriHandler.js | 1 - test/unit/controllers/controllersSpec.js | 28 +++++++++++++++++++++++- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/js/controllers/uriPayment.js b/js/controllers/uriPayment.js index f1004eca6..458a9e596 100644 --- a/js/controllers/uriPayment.js +++ b/js/controllers/uriPayment.js @@ -1,20 +1,18 @@ 'use strict'; angular.module('copayApp.controllers').controller('UriPaymentController', function($rootScope, $scope, $routeParams) { - var data = $routeParams.data; + var data = decodeURIComponent($routeParams.data); var splitDots = data.split(':'); $scope.protocol = splitDots[0]; data = splitDots[1]; var splitQuestion = data.split('?'); $scope.address = splitQuestion[0]; - data = decodeURIComponent(splitQuestion[1]); var search = splitQuestion[1]; data = JSON.parse('{"' + search.replace(/&/g, '","').replace(/=/g, '":"') + '"}', function(key, value) { return key === "" ? value : decodeURIComponent(value); }); - $scope.amount = data.amount; + $scope.amount = parseInt(data.amount); $scope.message = data.message; - }); diff --git a/js/services/uriHandler.js b/js/services/uriHandler.js index 413672f3b..ef50e1b5a 100644 --- a/js/services/uriHandler.js +++ b/js/services/uriHandler.js @@ -5,7 +5,6 @@ var UriHandler = function() {}; UriHandler.prototype.register = function() { var base = window.location.origin + '/'; var url = base + '#/uri_payment/%s'; - console.log(url); navigator.registerProtocolHandler('bitcoin', url, 'Copay'); }; diff --git a/test/unit/controllers/controllersSpec.js b/test/unit/controllers/controllersSpec.js index 8525dc782..96a30f4be 100644 --- a/test/unit/controllers/controllersSpec.js +++ b/test/unit/controllers/controllersSpec.js @@ -300,7 +300,7 @@ describe("Unit: Controllers", function() { '
' + '' + '
' - ); + ); scope.model = { amount: null }; @@ -368,4 +368,30 @@ describe("Unit: Controllers", function() { }); }); + describe('UriPayment Controller', function() { + var what; + beforeEach(inject(function($controller, $rootScope) { + scope = $rootScope.$new(); + var routeParams = { + data: 'bitcoin:19mP9FKrXqL46Si58pHdhGKow88SUPy1V8%3Famount=1&message=a%20bitcoin%20donation' + }; + what = $controller('UriPaymentController', { + $scope: scope, + $routeParams: routeParams + }); + })); + + it('should exist', function() { + should.exist(what); + }); + + it('should parse url correctly', function() { + should.exist(what); + scope.protocol.should.equal('bitcoin'); + scope.address.should.equal('19mP9FKrXqL46Si58pHdhGKow88SUPy1V8'); + scope.amount.should.equal(1); + scope.message.should.equal('a bitcoin donation'); + }); + }); + });