From 57912a31804e69cebb903765fa98c94dda499751 Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Tue, 12 Jan 2016 11:53:35 -0300 Subject: [PATCH] define constants in defaults.js --- lib/common/defaults.js | 4 ++++ lib/fiatrateservice.js | 15 ++++++--------- test/integration/fiatrateservice.js | 3 ++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/common/defaults.js b/lib/common/defaults.js index 52e6d5a..43e6845 100644 --- a/lib/common/defaults.js +++ b/lib/common/defaults.js @@ -40,4 +40,8 @@ Defaults.FEE_LEVELS = [{ // Minimum nb of addresses a wallet must have to start using 2-step balance optimization Defaults.TWO_STEP_BALANCE_THRESHOLD = 100; +Defaults.FIAT_RATE_PROVIDER = 'BitPay'; +Defaults.FIAT_RATE_FETCH_INTERVAL = 10; // In minutes + + module.exports = Defaults; diff --git a/lib/fiatrateservice.js b/lib/fiatrateservice.js index 9a3306a..5fca814 100644 --- a/lib/fiatrateservice.js +++ b/lib/fiatrateservice.js @@ -7,15 +7,12 @@ var log = require('npmlog'); log.debug = log.verbose; var request = require('request'); -var Utils = require('./common/utils'); -var Storage = require('./storage'); +var Common = require('./common'); +var Defaults = Common.Defaults; +var Storage = require('./storage'); var Model = require('./model'); - -var DEFAULT_PROVIDER = 'BitPay'; -var FETCH_INTERVAL = 15; // In minutes - function FiatRateService() {}; FiatRateService.prototype.init = function(opts, cb) { @@ -24,7 +21,7 @@ FiatRateService.prototype.init = function(opts, cb) { opts = opts || {}; self.request = opts.request || request; - self.defaultProvider = opts.defaultProvider || DEFAULT_PROVIDER; + self.defaultProvider = opts.defaultProvider || Defaults.FIAT_RATE_PROVIDER; async.parallel([ @@ -52,7 +49,7 @@ FiatRateService.prototype.startCron = function(opts, cb) { self.providers = _.values(require('./fiatrateproviders')); - var interval = opts.fetchInterval || FETCH_INTERVAL; + var interval = opts.fetchInterval || Defaults.FIAT_RATE_FETCH_INTERVAL; if (interval) { self._fetch(); setInterval(function() { @@ -116,7 +113,7 @@ FiatRateService.prototype.getRate = function(opts, cb) { opts = opts || {}; var provider = opts.provider || self.defaultProvider; - var ts = _.isNumber(opts.ts) ? opts.ts : Date.now(); + var ts = (_.isNumber(opts.ts) || _.isArray(opts.ts)) ? opts.ts : Date.now(); async.map([].concat(ts), function(ts, cb) { self.storage.fetchFiatRate(provider, opts.code, ts, function(err, rate) { diff --git a/test/integration/fiatrateservice.js b/test/integration/fiatrateservice.js index 58d4d06..d9bf8f3 100644 --- a/test/integration/fiatrateservice.js +++ b/test/integration/fiatrateservice.js @@ -250,7 +250,8 @@ describe('Fiat rate service', function() { res.ts.should.equal(100); should.not.exist(res.rate) should.not.exist(res.fetchedOn) - service.getRate('USD', { + service.getRate({ + code: 'USD', provider: 'Bitstamp' }, function(err, res) { should.not.exist(err);