diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.js b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.js index 5d15d603c0..7d4dc5ab25 100644 --- a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.js +++ b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.js @@ -79,7 +79,7 @@ }, _computeItemNeedsReview(reviewed) { - return !reviewed; + return reviewed === false; }, _computeChangeURL(change) { diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item_test.html b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item_test.html index df4a442b0a..1d76df2059 100644 --- a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item_test.html +++ b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item_test.html @@ -274,5 +274,11 @@ limitations under the License. assert.equal(element._computeRepoDisplay(change, true), '…/test/repo'); }); + + test('_computeItemNeedsReview', () => { + assert.isFalse(element._computeItemNeedsReview(undefined)); + assert.isFalse(element._computeItemNeedsReview(true)); + assert.isTrue(element._computeItemNeedsReview(false)); + }); }); diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js index 2214d523d1..d2b17a3758 100644 --- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js +++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js @@ -236,7 +236,7 @@ }, _computeItemNeedsReview(account, change, showReviewedState) { - return showReviewedState && !change.reviewed && + return showReviewedState && change.reviewed === false && !change.work_in_progress && this.changeIsOpen(change.status) && (!account || account._account_id != change.owner._account_id); diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html index dce2a5595a..650ebeb704 100644 --- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html +++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.html @@ -221,29 +221,38 @@ limitations under the License. { _number: 1, status: 'NEW', + reviewed: false, owner: {_account_id: 0}, }, { _number: 2, status: 'MERGED', + reviewed: false, owner: {_account_id: 0}, }, { _number: 3, status: 'ABANDONED', + reviewed: false, owner: {_account_id: 0}, }, { _number: 4, status: 'NEW', + reviewed: false, work_in_progress: true, owner: {_account_id: 0}, }, + { + _number: 5, + status: 'NEW', + owner: {_account_id: 0}, + }, ]; flushAsynchronousOperations(); let elementItems = Polymer.dom(element.root).querySelectorAll( 'gr-change-list-item'); - assert.equal(elementItems.length, 5); + assert.equal(elementItems.length, 6); for (let i = 0; i < elementItems.length; i++) { assert.isFalse(elementItems[i].hasAttribute('needs-review')); } @@ -251,22 +260,24 @@ limitations under the License. element.showReviewedState = true; elementItems = Polymer.dom(element.root).querySelectorAll( 'gr-change-list-item'); - assert.equal(elementItems.length, 5); + assert.equal(elementItems.length, 6); assert.isFalse(elementItems[0].hasAttribute('needs-review')); assert.isTrue(elementItems[1].hasAttribute('needs-review')); assert.isFalse(elementItems[2].hasAttribute('needs-review')); assert.isFalse(elementItems[3].hasAttribute('needs-review')); assert.isFalse(elementItems[4].hasAttribute('needs-review')); + assert.isFalse(elementItems[5].hasAttribute('needs-review')); element.account = {_account_id: 42}; elementItems = Polymer.dom(element.root).querySelectorAll( 'gr-change-list-item'); - assert.equal(elementItems.length, 5); + assert.equal(elementItems.length, 6); assert.isFalse(elementItems[0].hasAttribute('needs-review')); assert.isTrue(elementItems[1].hasAttribute('needs-review')); assert.isFalse(elementItems[2].hasAttribute('needs-review')); assert.isFalse(elementItems[3].hasAttribute('needs-review')); assert.isFalse(elementItems[4].hasAttribute('needs-review')); + assert.isFalse(elementItems[5].hasAttribute('needs-review')); }); test('no changes', () => {