From d44b56d564871cfa253c6b7774748fa63010628b Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Thu, 23 Oct 2014 12:05:10 -0300 Subject: [PATCH] added comment from proposal if available --- js/models/Wallet.js | 7 +++++++ test/Wallet.js | 47 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/js/models/Wallet.js b/js/models/Wallet.js index 43c4fcc92..7a36b1f55 100644 --- a/js/models/Wallet.js +++ b/js/models/Wallet.js @@ -2917,6 +2917,7 @@ Wallet.prototype.getTransactionHistory = function(cb) { var self = this; var addresses = self.getAddressesInfo(); + var proposals = self.getTxProposals(); var satToUnit = 1 / self.settings.unitToSatoshi; function extractInsOuts(tx) { @@ -2997,6 +2998,12 @@ Wallet.prototype.getTransactionHistory = function(cb) { var firstOut = _.findWhere(items, { type: 'out' }); + + var proposal = _.findWhere(proposals, { + ntxid: tx.txid + }); + + tx.comment = proposal ? proposal.comment : undefined; tx.labelTo = firstOut ? firstOut.label : undefined; tx.amountSat = Math.abs(amount); tx.amount = tx.amountSat * satToUnit; diff --git a/test/Wallet.js b/test/Wallet.js index 7786f644e..061ba9398 100644 --- a/test/Wallet.js +++ b/test/Wallet.js @@ -2127,7 +2127,54 @@ describe('Wallet model', function() { done(); }); }); + it('should assign comment from tx proposal if found', function(done) { + var w = cachedCreateW2(); + var txs = [{ + txid: 'id1', + vin: [{ + addr: 'addr_in_1', + valueSat: 3000 + }, { + addr: 'addr_in_2', + valueSat: 2000 + }], + vout: [{ + scriptPubKey: { + addresses: ['addr_out_1'], + }, + value: '0.00003900', + }, { + scriptPubKey: { + addresses: ['change'], + }, + value: '0.00001000', + }], + fees: 0.00000100 + }]; + w.blockchain.getTransactions = sinon.stub().yields(null, txs); + w.getAddressesInfo = sinon.stub().returns([{ + addressStr: 'addr_in_1' + }, { + addressStr: 'addr_in_2' + }, { + addressStr: 'change', + isChange: true, + }]); + + w.getTxProposals = sinon.stub().returns([{ + ntxid: 'id0', + comment: 'My comment', + }, { + ntxid: 'id1', + comment: 'Another comment', + }]); + w.getTransactionHistory(function(err, res) { + res.should.exist; + res[0].comment.should.equal('Another comment'); + done(); + }); + }); });