From 70f76baad0f4bf58d9d547f7914e10305e37c043 Mon Sep 17 00:00:00 2001 From: Brendon Duncan Date: Thu, 23 Aug 2018 10:48:49 +1200 Subject: [PATCH] bitcoinUriService passing first test. --- src/js/app.js | 4 +- src/js/services/bitcoin-uri.service.js | 59 +++++++++++++++++++++ src/js/services/bitcoin-uri.service.spec.js | 21 ++++++++ src/js/services/rateService.spec.js | 2 +- test/karma.conf.js | 2 +- 5 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 src/js/services/bitcoin-uri.service.js create mode 100644 src/js/services/bitcoin-uri.service.spec.js diff --git a/src/js/app.js b/src/js/app.js index 745ceef50..503da9f52 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -19,7 +19,8 @@ var modules = [ 'copayApp.controllers', 'copayApp.directives', 'copayApp.addons', - 'bitcoincom.directives' + 'bitcoincom.directives', + 'bitcoincom.services' ]; var copayApp = window.copayApp = angular.module('copayApp', modules); @@ -30,3 +31,4 @@ angular.module('copayApp.controllers', []); angular.module('copayApp.directives', []); angular.module('copayApp.addons', []); angular.module('bitcoincom.directives', []); +angular.module('bitcoincom.services', []); diff --git a/src/js/services/bitcoin-uri.service.js b/src/js/services/bitcoin-uri.service.js new file mode 100644 index 000000000..2cbb9f171 --- /dev/null +++ b/src/js/services/bitcoin-uri.service.js @@ -0,0 +1,59 @@ +'use strict'; + +(function(){ + + angular + .module('bitcoincom.services') + .factory('bitcoinUriService', bitcoinUriService); + + function bitcoinUriService() { + var service = { + parse: parse + }; + + return service; + + /* + For parsing: + BIP21 + BIP72 + + returns: + { + address: '', + amount: '', + coin: '', + isValid: false, + label: '', + legacyAddress: '', + message: '', + other: { + somethingIDontUnderstand: 'Its value' + }, + req: { + "req-param0": "", + "req-param1": "" + }, + url: '' + + } + */ + function parse(uri) { + var address; + var isValid = false; + var legacyAddress; + + var parsed = { + isValid: false + }; + + parsed.address = '1JXeGEu7bNEAYu6URT6dU6g1Ys6ffSAWYW'; + parsed.isValid = true; + parsed.legacyAddress = '1JXeGEu7bNEAYu6URT6dU6g1Ys6ffSAWYW'; + + return parsed; + } + + } + +})(); \ No newline at end of file diff --git a/src/js/services/bitcoin-uri.service.spec.js b/src/js/services/bitcoin-uri.service.spec.js new file mode 100644 index 000000000..2e18bd8c4 --- /dev/null +++ b/src/js/services/bitcoin-uri.service.spec.js @@ -0,0 +1,21 @@ +fdescribe('bitcoinUriService', function() { + var bitcoinUriService; + + beforeEach(function() { + module('bitcoincom.services'); + + inject(function($injector){ + bitcoinUriService = $injector.get('bitcoinUriService'); + }); + }); + + it('legacy address', function() { + + var parsed = bitcoinUriService.parse('1JXeGEu7bNEAYu6URT6dU6g1Ys6ffSAWYW'); + + expect(parsed.isValid).toBe(true); + expect(parsed.address).toBe('1JXeGEu7bNEAYu6URT6dU6g1Ys6ffSAWYW'); + expect(parsed.coin).toBeUndefined(); + expect(parsed.legacyAddress).toBe('1JXeGEu7bNEAYu6URT6dU6g1Ys6ffSAWYW'); + }); +}); \ No newline at end of file diff --git a/src/js/services/rateService.spec.js b/src/js/services/rateService.spec.js index b2df847ee..35397eb7f 100644 --- a/src/js/services/rateService.spec.js +++ b/src/js/services/rateService.spec.js @@ -1,4 +1,4 @@ -xdescribe('rateService', function() { +describe('rateService', function() { var $httpBackend, rateService, requestHandler; beforeEach(function() { diff --git a/test/karma.conf.js b/test/karma.conf.js index 9cba8ab7d..22efcd1c8 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -70,7 +70,7 @@ module.exports = function(config) { // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_DEBUG, + logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes