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,53 +211,51 @@ 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);
});
}
var url = 'mongodb://localhost:27017/bws';
mongodb.MongoClient.connect(url, function(err, _db) {
should.not.exist(err);
db = _db;
return cb();
});
};
function resetDb(cb) {
if (!db) return cb();
db.dropDatabase(function(err) {
should.not.exist(err);
return cb();
});
};
function closeDb(cb) {
if (db) {
db.close(true, function(err) {
should.not.exist(err);
db = null;
return cb();
});
} else {
if (!db) return cb();
db.close(true, function(err) {
should.not.exist(err);
db = null;
return cb();
}
});
};
describe('Wallet service', function() {
beforeEach(function(done) {
openDb(function() {
storage = new Storage();
storage.connect({
db: db
}, function(err) {
should.not.exist(err);
blockchainExplorer = sinon.stub();
WalletService.initialize({
storage: storage,
blockchainExplorer: blockchainExplorer,
});
helpers.offset = 0;
done();
describe('Wallet service', function() {
before(function(done) {
openDb(function() {
storage = new Storage({
db: db
});
done();
});
});
beforeEach(function(done) {
resetDb(function() {
blockchainExplorer = sinon.stub();
WalletService.initialize({
storage: storage,
blockchainExplorer: blockchainExplorer,
});
helpers.offset = 0;
done();
});
});
after(function(done) {
@ -3052,27 +3050,30 @@ 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);
blockchainExplorer = sinon.stub();
resetDb(function() {
blockchainExplorer = sinon.stub();
WalletService.initialize({
storage: storage,
blockchainExplorer: blockchainExplorer,
});
helpers.offset = 0;
done();
WalletService.initialize({
storage: storage,
blockchainExplorer: blockchainExplorer,
});
helpers.offset = 0;
done();
});
});
afterEach(function() {

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() {