Assign selected revision correctly if current patch is edit Change-Id: I78fec2ad8989b2053e5b8b8748de0f4734962d1f
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 ed62918..fa84b95 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
@@ -1821,7 +1821,8 @@ if (!this._selectedRevision) { return; } - const patchNum = parseInt(patchNumStr, 10); + // If patchNumStr is"edit", then patchNum is undefined hence an OR + const patchNum = parseInt(patchNumStr, 10) || patchNumStr; if (patchNum === this._selectedRevision._number) { return; }
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 d9b8464..b80b51e 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
@@ -1617,6 +1617,30 @@ }); }); + test('_selectedRevision is assigned when patchNum is edit', () => { + const revision1 = {_number: 1, commit: {parents: []}}; + const revision2 = {_number: 2, commit: {parents: []}}; + const revision3 = {_number: 'edit', commit: {parents: []}}; + sandbox.stub(element.$.restAPI, 'getChangeDetail').returns( + Promise.resolve({ + revisions: { + aaa: revision1, + bbb: revision2, + ccc: revision3, + }, + labels: {}, + actions: {}, + current_revision: 'ccc', + change_id: 'loremipsumdolorsitamet', + })); + sandbox.stub(element, '_getEdit').returns(Promise.resolve()); + sandbox.stub(element, '_getPreferences').returns(Promise.resolve({})); + element._patchRange = {patchNum: 'edit'}; + return element._getChangeDetail().then(() => { + assert.strictEqual(element._selectedRevision, revision3); + }); + }); + test('_sendShowChangeEvent', () => { element._change = {labels: {}}; element._patchRange = {patchNum: 4};