combine new preferences with stored preferences

This commit is contained in:
Ivan Socolsky 2015-06-29 09:11:03 -03:00
parent 116bea1aa5
commit fb0dcee054
2 changed files with 13 additions and 12 deletions

View File

@ -480,7 +480,6 @@ WalletService.prototype.savePreferences = function(opts, cb) {
}]; }];
opts = _.pick(opts, _.pluck(preferences, 'name')); opts = _.pick(opts, _.pluck(preferences, 'name'));
try { try {
_.each(preferences, function(preference) { _.each(preferences, function(preference) {
var value = opts[preference.name]; var value = opts[preference.name];
@ -495,17 +494,19 @@ WalletService.prototype.savePreferences = function(opts, cb) {
} }
self._runLocked(cb, function(cb) { self._runLocked(cb, function(cb) {
var preferences = Model.Preferences.create({ self.storage.fetchPreferences(self.walletId, self.copayerId, function(err, oldPref) {
if (err) return cb(err);
var newPref = Model.Preferences.create({
walletId: self.walletId, walletId: self.walletId,
copayerId: self.copayerId, copayerId: self.copayerId,
email: opts.email,
language: opts.language,
unit: opts.unit,
}); });
var preferences = Model.Preferences.fromObj(_.defaults(newPref, opts, oldPref));
self.storage.storePreferences(preferences, function(err) { self.storage.storePreferences(preferences, function(err) {
return cb(err); return cb(err);
}); });
}); });
});
}; };
/** /**

View File

@ -260,7 +260,7 @@ helpers.createAddresses = function(server, wallet, main, change, cb) {
var storage, blockchainExplorer; var storage, blockchainExplorer;
var useMongo = true; var useMongo = false;
function initStorage(cb) { function initStorage(cb) {
function getDb(cb) { function getDb(cb) {
@ -1186,7 +1186,7 @@ describe('Wallet service', function() {
}); });
}); });
}); });
it.only('should save preferences incrementally', function(done) { it('should save preferences incrementally', function(done) {
async.series([ async.series([
function(next) { function(next) {