add tests + fix integration tests using mongodb

This commit is contained in:
Ivan Socolsky 2016-06-03 15:05:08 -03:00
parent f0e15fe459
commit e798b37391
No known key found for this signature in database
GPG Key ID: FAECE6A05FAA4F56
2 changed files with 17 additions and 9 deletions

View File

@ -62,6 +62,7 @@ function WalletService() {
function checkRequired(obj, args, cb) {
var missing = Utils.getMissingFields(obj, args);
if (_.isEmpty(missing)) return true;
if (_.isFunction(cb))
cb(new ClientError('Required argument ' + _.first(missing) + ' missing.'));
return false;
};
@ -1683,7 +1684,9 @@ WalletService.prototype._validateOutputs = function(opts, wallet, cb) {
var output = opts.outputs[i];
output.valid = false;
if (!checkRequired(output, ['toAddress', 'amount'], cb)) return;
if (!checkRequired(output, ['toAddress', 'amount'])) {
return new ClientError('Argument missing in output #' + (i + 1) + '.');
}
var toAddress = {};
try {
@ -1943,13 +1946,11 @@ WalletService.prototype.createTx = function(opts, cb) {
} else {
if (opts.changeAddress) {
self.storage.fetchAddress(opts.changeAddress, function(err, address) {
if (err) return next(Errors.INVALID_CHANGE_ADDRESS);
changeAddress = address;
return next();
if (err) return cb(Errors.INVALID_CHANGE_ADDRESS);
return cb(null, address);
});
} else {
changeAddress = wallet.createAddress(true);
return next();
return cb(null, wallet.createAddress(true));
}
}
};

View File

@ -2771,7 +2771,7 @@ describe('Wallet service', function() {
});
server.createTxLegacy(txOpts, function(err, tx) {
should.exist(err);
err.message.should.contain('outputs argument missing');
err.message.should.contain('Argument missing in output #1.');
done();
});
});
@ -3685,7 +3685,7 @@ describe('Wallet service', function() {
should.not.exist(err);
should.exist(txp);
txp.inputs.length.should.equal(3);
txOpts.feePerKb = 120e2;
txOpts.feePerKb = 160e2;
server.createTx(txOpts, function(err, txp) {
should.exist(err);
should.not.exist(txp);
@ -4203,6 +4203,13 @@ describe('Wallet service', function() {
});
});
});
it('should include singleAddress property', function(done) {
server.getWallet({}, function(err, wallet) {
should.not.exist(err);
wallet.singleAddress.should.be.true;
done();
});
});
it('should always return same address', function(done) {
firstAddress.path.should.equal('m/0/0');
server.createAddress({}, function(err, x) {