Merge "Load latest patchset after rebase"
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
index bc3b91e..645290a 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
@@ -726,6 +726,9 @@
// If the change was rebased, we need to reload the related changes.
if (e.detail.action === 'rebase') {
this.$.relatedChanges.reload();
+ this.set('_patchRange.patchNum',
+ this._computeLatestPatchNum(this._allPatchSets));
+ this._updateSelected();
}
}.bind(this));
},
@@ -942,6 +945,6 @@
return !(loggedIn && (account._account_id === change.owner._account_id));
},
- _computeReplyDisabled: function() { return false; }
+ _computeReplyDisabled: function() { return false; },
});
})();
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
index 0f13b29..45fae71 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
@@ -538,13 +538,19 @@
assert(showStub.lastCall.calledWithExactly('/c/42/3'));
});
- test('related changes are updated after rebase', function(done) {
+ test('related changes are updated and new patch selected after rebase',
+ function(done) {
+ sandbox.stub(element, '_computeLatestPatchNum', function() {
+ return 1;
+ });
sandbox.stub(element, '_reload',
function() { return Promise.resolve(); });
+ sandbox.stub(element, '_updateSelected');
sandbox.stub(element.$.relatedChanges, 'reload');
var e = {detail: {action: 'rebase'}};
element._handleReloadChange(e).then(function() {
assert.isTrue(element.$.relatedChanges.reload.called);
+ assert.isTrue(element._updateSelected.called);
done();
});
});
@@ -552,10 +558,12 @@
test('related changes are not updated after other action', function(done) {
sandbox.stub(element, '_reload',
function() { return Promise.resolve(); });
+ sandbox.stub(element, '_updateSelected');
sandbox.stub(element.$.relatedChanges, 'reload');
var e = {detail: {action: 'abandon'}};
element._handleReloadChange(e).then(function() {
assert.isFalse(element.$.relatedChanges.reload.called);
+ assert.isFalse(element._updateSelected.called);
done();
});
});