From 7042e240f8df9e288928ce4176005cbea664dc9d Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Tue, 3 Nov 2015 15:45:38 -0300 Subject: [PATCH] refactor testing setup/teardown in helpers --- test/integration/helpers.js | 53 ++++++++++++++++++++++++++++++++-- test/integration/server.js | 57 +++++-------------------------------- 2 files changed, 57 insertions(+), 53 deletions(-) diff --git a/test/integration/helpers.js b/test/integration/helpers.js index 4da4633..62ab3b9 100644 --- a/test/integration/helpers.js +++ b/test/integration/helpers.js @@ -8,6 +8,9 @@ var sinon = require('sinon'); var should = chai.should(); var log = require('npmlog'); log.debug = log.verbose; +var tingodb = require('tingodb')({ + memStore: true +}); var Bitcore = require('bitcore-lib'); @@ -16,16 +19,60 @@ var Utils = Common.Utils; var Constants = Common.Constants; var Defaults = Common.Defaults; +var Storage = require('../../lib/storage'); var Model = require('../../lib/model'); var WalletService = require('../../lib/server'); var TestData = require('../testdata'); -var blockchainExplorer; +var storage, blockchainExplorer; var helpers = {}; -helpers.setBlockchainExplorer = function(bce) { - blockchainExplorer = bce; +var useMongoDb = !!process.env.USE_MONGO_DB; + +helpers.before = function(cb) { + function getDb(cb) { + if (useMongoDb) { + var mongodb = require('mongodb'); + mongodb.MongoClient.connect('mongodb://localhost:27017/bws_test', function(err, db) { + if (err) throw err; + return cb(db); + }); + } else { + var db = new tingodb.Db('./db/test', {}); + return cb(db); + } + } + getDb(function(db) { + storage = new Storage({ + db: db + }); + return cb(); + }); +}; + +helpers.beforeEach = function(cb) { + if (!storage.db) return cb(); + storage.db.dropDatabase(function(err) { + if (err) return cb(err); + blockchainExplorer = sinon.stub(); + WalletService.initialize({ + storage: storage, + blockchainExplorer: blockchainExplorer, + }, cb); + }); +}; + +helpers.after = function(cb) { + WalletService.shutDown(cb); +}; + +helpers.getBlockchainExplorer = function() { + return blockchainExplorer; +}; + +helpers.getStorage = function() { + return storage; }; helpers.signMessage = function(text, privKey) { diff --git a/test/integration/server.js b/test/integration/server.js index 366b838..68f7850 100644 --- a/test/integration/server.js +++ b/test/integration/server.js @@ -10,11 +10,6 @@ var should = chai.should(); var log = require('npmlog'); log.debug = log.verbose; -var fs = require('fs'); -var tingodb = require('tingodb')({ - memStore: true -}); - var Bitcore = require('bitcore-lib'); var Common = require('../../lib/common'); @@ -22,67 +17,30 @@ var Utils = Common.Utils; var Constants = Common.Constants; var Defaults = Common.Defaults; -var Storage = require('../../lib/storage'); var Model = require('../../lib/model'); var WalletService = require('../../lib/server'); var EmailService = require('../../lib/emailservice'); var TestData = require('../testdata'); - var helpers = require('./helpers'); +var storage, blockchainExplorer; var CLIENT_VERSION = 'bwc-0.1.1'; -var storage, blockchainExplorer; - -var useMongoDb = !!process.env.USE_MONGO_DB; - -function initStorage(cb) { - function getDb(cb) { - if (useMongoDb) { - var mongodb = require('mongodb'); - mongodb.MongoClient.connect('mongodb://localhost:27017/bws_test', function(err, db) { - if (err) throw err; - return cb(db); - }); - } else { - var db = new tingodb.Db('./db/test', {}); - return cb(db); - } - } - getDb(function(db) { - storage = new Storage({ - db: db - }); - return cb(); - }); -}; - -function resetStorage(cb) { - if (!storage.db) return cb(); - storage.db.dropDatabase(function(err) { - return cb(); - }); -}; - - describe('Wallet service', function() { before(function(done) { - initStorage(done); + helpers.before(done); }); beforeEach(function(done) { - resetStorage(function() { - blockchainExplorer = sinon.stub(); - helpers.setBlockchainExplorer(blockchainExplorer); - WalletService.initialize({ - storage: storage, - blockchainExplorer: blockchainExplorer, - }, done); + helpers.beforeEach(function(err) { + storage = helpers.getStorage(); + blockchainExplorer = helpers.getBlockchainExplorer(); + done(); }); }); after(function(done) { - WalletService.shutDown(done); + helpers.after(done); }); describe('Email notifications', function() { @@ -1531,7 +1489,6 @@ describe('Wallet service', function() { }); }); - describe('Preferences', function() { var server, wallet; beforeEach(function(done) {