This commit is contained in:
Ivan Socolsky 2015-04-20 21:11:10 -03:00
parent 498392e72c
commit d7ea3e48bb
3 changed files with 61 additions and 61 deletions

View File

@ -19,13 +19,15 @@ var collections = {
NOTIFICATIONS: 'notifications',
};
var Storage = function() {};
var Storage = function(opts) {
opts = opts || {};
this.db = opts.db;
};
Storage.prototype.connect = function(opts, cb) {
var self = this;
opts = opts || {};
this.db = opts.db;
if (this.db) return cb();

View File

@ -211,44 +211,43 @@ helpers.createAddresses = function(server, wallet, main, change, cb) {
var db, storage, blockchainExplorer;
function openDb(cb) {
function dropDb(cb) {
db.dropDatabase(function(err) {
should.not.exist(err);
return cb();
});
};
if (db) {
return dropDb(cb);
} else {
var url = 'mongodb://localhost:27017/bws';
mongodb.MongoClient.connect(url, function(err, _db) {
should.not.exist(err);
db = _db;
return dropDb(cb);
return cb();
});
};
function resetDb(cb) {
if (!db) return cb();
db.dropDatabase(function(err) {
should.not.exist(err);
return cb();
});
}
};
function closeDb(cb) {
if (db) {
if (!db) return cb();
db.close(true, function(err) {
should.not.exist(err);
db = null;
return cb();
});
} else {
return cb();
}
};
describe('Wallet service', function() {
beforeEach(function(done) {
before(function(done) {
openDb(function() {
storage = new Storage();
storage.connect({
storage = new Storage({
db: db
}, function(err) {
should.not.exist(err);
});
done();
});
});
beforeEach(function(done) {
resetDb(function() {
blockchainExplorer = sinon.stub();
WalletService.initialize({
@ -259,7 +258,6 @@ describe('Wallet service', function() {
done();
});
});
});
after(function(done) {
closeDb(done);
});
@ -3052,17 +3050,21 @@ describe('Wallet service', function() {
describe('Blockchain monitor', function() {
var addressSubscriber;
before(function(done) {
openDb(function() {
storage = new Storage({
db: db
});
done();
});
});
beforeEach(function(done) {
addressSubscriber = sinon.stub();
addressSubscriber.subscribe = sinon.stub();
sinon.stub(BlockchainMonitor.prototype, '_getAddressSubscriber').onFirstCall().returns(addressSubscriber);
openDb(function() {
storage = new Storage();
storage.connect({
db: db
}, function(err) {
should.not.exist(err);
resetDb(function() {
blockchainExplorer = sinon.stub();
WalletService.initialize({
@ -3074,7 +3076,6 @@ describe('Blockchain monitor', function() {
done();
});
});
});
afterEach(function() {
BlockchainMonitor.prototype._getAddressSubscriber.restore();
});

View File

@ -12,7 +12,7 @@ var Model = require('../lib/model');
function initDb(cb) {
var url = 'mongodb://localhost:27017/bws';
var url = 'mongodb://localhost:27017';
mongodb.MongoClient.connect(url, function(err, db) {
should.not.exist(err);
db.dropDatabase(function(err) {
@ -27,13 +27,10 @@ describe('Storage', function() {
beforeEach(function(done) {
initDb(function(err, db) {
should.not.exist(err);
storage = new Storage();
storage.connect({
storage = new Storage({
db: db
}, function(err) {
should.not.exist(err);
done();
});
done();
});
});
describe('Store & fetch wallet', function() {