diff --git a/js/filters.js b/js/filters.js index 42848fe4c..76efd6313 100644 --- a/js/filters.js +++ b/js/filters.js @@ -20,14 +20,18 @@ angular.module('copayApp.filters', []) .filter('removeEmpty', function() { return function(elements) { elements = elements || []; - // Hide empty addresses from other copayers + // Hide empty change addresses from other copayers return elements.filter(function(e) { - return e.owned || e.balance > 0; + return !e.isChange || e.balance > 0; }); } }) .filter('limitAddress', function() { return function(elements, showAll) { + var elements = elements.sort(function(a, b) { + return (+b.owned) - (+a.owned); + }); + if (elements.length <= 1 || showAll) { return elements; } diff --git a/test/unit/filters/filtersSpec.js b/test/unit/filters/filtersSpec.js index d2be6e694..38a7dc442 100644 --- a/test/unit/filters/filtersSpec.js +++ b/test/unit/filters/filtersSpec.js @@ -80,26 +80,26 @@ describe('Unit: Testing Filters', function() { expect(removeEmpty(undefined).length).to.equal(0); })); - it('should filter empty addresses from other copayers', inject(function($filter) { + it('should filter empty change addresses from other copayers', inject(function($filter) { var removeEmpty = $filter('removeEmpty'); var addresses = [{ owned: true, + isChange: false, balance: 0 }, { owned: false, + isChange: false, balance: 0 }, { owned: true, + isChange: true, balance: 0 }, { owned: false, + isChange: true, balance: 0 }]; expect(removeEmpty(addresses).length).to.equal(2); - addresses[1].owned = true; - expect(removeEmpty(addresses).length).to.equal(3); - addresses[3].balance = 10; - expect(removeEmpty(addresses).length).to.equal(4); })); });