Merge "Add resolvable comments checkbox"
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
index 2118f83..1a0ba99 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
@@ -240,6 +240,12 @@
disabled$="[[_computeSaveDisabled(_messageText)]]">Save</gr-button>
<gr-button class="action cancel hideOnPublished"
on-tap="_handleCancel" hidden>Cancel</gr-button>
+ <div class="action resolve hideOnPublished">
+ <input type="checkbox"
+ checked$="[[resolved]]"
+ on-change="_handleToggleResolved">
+ <label>Resolved</label>
+ </div>
<div class="danger">
<gr-button class="action discard hideOnPublished"
on-tap="_handleDiscard">Discard</gr-button>
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
index a1e36c5..3575ccc 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
@@ -288,6 +288,8 @@
assert.isFalse(isVisible(element.$$('.quote')), 'quote is not visible');
assert.isFalse(isVisible(element.$$('.ack')), 'ack is not visible');
assert.isFalse(isVisible(element.$$('.done')), 'done is not visible');
+ assert.isFalse(isVisible(element.$$('.resolve')),
+ 'resolve is not visible');
assert.isFalse(element.$$('.humanActions').hasAttribute('hidden'));
assert.isTrue(element.$$('.robotActions').hasAttribute('hidden'));
@@ -300,6 +302,7 @@
assert.isFalse(isVisible(element.$$('.quote')), 'quote is not visible');
assert.isFalse(isVisible(element.$$('.ack')), 'ack is not visible');
assert.isFalse(isVisible(element.$$('.done')), 'done is not visible');
+ assert.isTrue(isVisible(element.$$('.resolve')), 'resolve is visible');
assert.isFalse(element.$$('.humanActions').hasAttribute('hidden'));
assert.isTrue(element.$$('.robotActions').hasAttribute('hidden'));
@@ -532,5 +535,20 @@
'Should navigate to ' + dest + ' without triggering nav');
showStub.restore();
});
+
+ test('proper event fires on resolve', function(done) {
+ element.addEventListener('comment-update', function(e) {
+ assert.isTrue(e.detail.comment.unresolved);
+ done();
+ });
+ MockInteractions.tap(element.$$('.resolve input'));
+ });
+
+ test('resolved comment state indicated by checkbox', function() {
+ element.comment = {unresolved: false};
+ assert.isTrue(element.$$('.resolve input').checked);
+ element.comment = {unresolved: true};
+ assert.isFalse(element.$$('.resolve input').checked);
+ });
});
</script>