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 7d675be65c..ffabb37865 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 @@ -259,7 +259,7 @@ }); this.addEventListener('comment-save', this._handleCommentSave.bind(this)); - this.addEventListener('comment-refresh', this._getDiffDrafts.bind(this)); + this.addEventListener('comment-refresh', this._reloadComments.bind(this)); this.addEventListener('comment-discard', this._handleCommentDiscard.bind(this)); this.addEventListener('editable-content-save', @@ -891,12 +891,6 @@ this.fire('page-error', {response}); }, - _getDiffDrafts() { - return this.$.restAPI.getDiffDrafts(this._changeNum).then(drafts => { - this._diffDrafts = drafts; - }); - }, - _getLoggedIn() { return this.$.restAPI.getLoggedIn(); }, @@ -1052,7 +1046,8 @@ _reloadComments() { return this.$.commentAPI.loadAll(this._changeNum) .then(comments => { - this._changeComments = this.$.commentAPI._changeComments; + this._changeComments = comments; + this._diffDrafts = Object.assign({}, this._changeComments.drafts); }); }, 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 2841dc8e1c..a455c180d8 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 @@ -241,13 +241,41 @@ limitations under the License. }); }); - test('comments are reloaded when reload-comments fired', () => { + test('comments are reloaded when reload-comments fired', done => { const reloadStub = sandbox.stub(element.$.commentAPI, 'loadAll') - .returns(Promise.resolve()); + .returns(Promise.resolve({ + drafts: { + 'testfile.txt': [ + { + patch_set: 5, + id: 'dd2982f5_c01c9e6a', + line: 1, + updated: '2017-11-08 18:47:45.000000000', + message: 'test', + unresolved: true, + }, + ], + }, + } + )); element.$.fileList.fire('reload-comments', { - resolve: () => { return Promise.resolve(); }, + resolve: () => { + assert.isTrue(reloadStub.called); + assert.deepEqual(element._diffDrafts, { + 'testfile.txt': [ + { + patch_set: 5, + id: 'dd2982f5_c01c9e6a', + line: 1, + updated: '2017-11-08 18:47:45.000000000', + message: 'test', + unresolved: true, + }, + ], + }); + done(); + }, }); - assert.isTrue(reloadStub.called); }); test('download tap calls _handleOpenDownloadDialog', () => { diff --git a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js index bf608e82b4..8fc3a64c33 100644 --- a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js +++ b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js @@ -224,6 +224,7 @@ return Promise.all(promises).then(([comments, robotComments, drafts]) => { this._changeComments = new ChangeComments(comments, robotComments, drafts, changeNum); + return this._changeComments; }); }, });