From fd434afe5944a0b38bef6703d9aa90b9a7306f02 Mon Sep 17 00:00:00 2001 From: Andrew Bonventre Date: Sat, 15 Oct 2016 20:22:00 -0700 Subject: [PATCH] First round cleanup of network requests & errors from tests + These were slowing down tests in cases where it would actually hit a live server, potentially adding the latency from the network to the test. + Other fixes involve removing unused imports of util.js amongst other small tweaks/fixes. Bug: Issue 4016 Change-Id: I442deefebeffc6a701e4922faccfe1c74b3a35b6 --- .../gr-change-list-item_test.html | 4 ++ .../gr-change-list-view_test.html | 3 ++ .../gr-change-list/gr-change-list_test.html | 1 - .../gr-account-list/gr-account-list_test.html | 10 ++--- .../gr-change-metadata_test.html | 1 + .../change/gr-change-view/gr-change-view.js | 7 ++- .../gr-change-view/gr-change-view_test.html | 2 +- .../gr-file-list/gr-file-list_test.html | 6 +-- .../change/gr-message/gr-message_test.html | 5 ++- .../gr-messages-list_test.html | 5 ++- .../gr-reply-dialog/gr-reply-dialog_test.html | 2 +- .../gr-reviewer-list_test.html | 2 +- .../gr-account-dropdown_test.html | 3 ++ .../gr-main-header/gr-main-header_test.html | 3 ++ .../gr-diff-builder/gr-diff-builder_test.html | 34 ++++++++++----- .../elements/diff/gr-diff/gr-diff_test.html | 5 ++- polygerrit-ui/app/elements/gr-app_test.html | 43 +++++++++++-------- .../gr-account-label_test.html | 4 ++ .../gr-account-link/gr-account-link_test.html | 4 +- .../shared/gr-avatar/gr-avatar_test.html | 3 ++ .../gr-change-reply-js-api_test.html | 1 + 21 files changed, 95 insertions(+), 53 deletions(-) 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 d2e602803b..b66c70bc38 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 @@ -35,6 +35,10 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + getLoggedIn: function() { return Promise.resolve(false); }, + }); element = fixture('basic'); }); diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html index af2359c254..944e963d61 100644 --- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html +++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view_test.html @@ -34,6 +34,9 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getLoggedIn: function() { return Promise.resolve(false); }, + }); element = fixture('basic'); }); 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 aa77b77f14..718cfb56e8 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 @@ -21,7 +21,6 @@ limitations under the License. - diff --git a/polygerrit-ui/app/elements/change/gr-account-list/gr-account-list_test.html b/polygerrit-ui/app/elements/change/gr-account-list/gr-account-list_test.html index bb55d0887d..7092c4e635 100644 --- a/polygerrit-ui/app/elements/change/gr-account-list/gr-account-list_test.html +++ b/polygerrit-ui/app/elements/change/gr-account-list/gr-account-list_test.html @@ -20,7 +20,6 @@ limitations under the License. - @@ -59,14 +58,11 @@ limitations under the License. existingReviewer1 = makeAccount(); existingReviewer2 = makeAccount(); + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + }); element = fixture('basic'); element.accounts = [existingReviewer1, existingReviewer2]; - - stub('gr-rest-api-interface', { - getConfig: function() { - return Promise.resolve({}); - }, - }); }); test('account entry only appears when editable', function() { diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html index 7ed2962ee8..7fa47444c3 100644 --- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html +++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html @@ -36,6 +36,7 @@ limitations under the License. setup(function() { stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, getLoggedIn: function() { return Promise.resolve(false); }, }); 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 c794a4ee42..f81f9fe4cd 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 @@ -357,12 +357,11 @@ // a linked message is performed after related changes is fully loaded. this.$.relatedChanges.reload().then(function() { this.async(function() { - if (!history.state.scrollTop) { - this._maybeScrollToMessage(); - - } else { + if (history.state && history.state.scrollTop) { document.documentElement.scrollTop = document.body.scrollTop = history.state.scrollTop; + } else { + this._maybeScrollToMessage(); } }, 1); }.bind(this)); 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 8cc43438bb..f2dc748019 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 @@ -21,7 +21,6 @@ limitations under the License. - @@ -39,6 +38,7 @@ limitations under the License. setup(function() { stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, getAccount: function() { return Promise.resolve(null); }, }); element = fixture('basic'); diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html index b298fefb83..d03bd897d1 100644 --- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html +++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html @@ -53,6 +53,9 @@ limitations under the License. stub('gr-date-formatter', { _loadTimeFormat: function() { return Promise.resolve(''); } }); + stub('gr-diff', { + reload: function() { return Promise.resolve(); }, + }); element = fixture('basic'); }); @@ -362,14 +365,11 @@ limitations under the License. flushAsynchronousOperations(); var fileRows = Polymer.dom(element.root).querySelectorAll('.row:not(.header)'); - // Prevent diff from making API call. - var diffStub = sandbox.stub(element.diffs[0], 'reload'); var showHideCheck = fileRows[0].querySelector( 'input.show-hide[type="checkbox"]'); assert.isTrue(showHideCheck.checked); MockInteractions.tap(showHideCheck); assert.isFalse(element.diffs[0].hidden); - diffStub.restore(); }); test('path should be properly escaped', function() { diff --git a/polygerrit-ui/app/elements/change/gr-message/gr-message_test.html b/polygerrit-ui/app/elements/change/gr-message/gr-message_test.html index 643d55d6c0..1587500d2a 100644 --- a/polygerrit-ui/app/elements/change/gr-message/gr-message_test.html +++ b/polygerrit-ui/app/elements/change/gr-message/gr-message_test.html @@ -20,7 +20,6 @@ limitations under the License. - @@ -36,8 +35,10 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getLoggedIn: function() { return Promise.resolve(false); }, + }); element = fixture('basic'); - sinon.stub(element.$.restAPI, 'getLoggedIn').returns(true); }); test('reply event', function(done) { diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html index 3cda4809aa..28abb0eb2d 100644 --- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html +++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html @@ -20,7 +20,6 @@ limitations under the License. - @@ -36,6 +35,10 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + getLoggedIn: function() { return Promise.resolve(false); }, + }); element = fixture('basic'); element.messages = [ { diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html index 0ebd8c5108..f15b554183 100644 --- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html +++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog_test.html @@ -20,7 +20,6 @@ limitations under the License. - @@ -49,6 +48,7 @@ limitations under the License. patchNum = 1; stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, getAccount: function() { return Promise.resolve({}); }, }); diff --git a/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html b/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html index 6c6125c867..d2ee15ec91 100644 --- a/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html +++ b/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html @@ -20,7 +20,6 @@ limitations under the License. - @@ -40,6 +39,7 @@ limitations under the License. element = fixture('basic'); sandbox = sinon.sandbox.create(); stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, removeChangeReviewer: function() { return Promise.resolve({ok: true}); }, diff --git a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown_test.html b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown_test.html index 3ae3b143e6..8c39da8902 100644 --- a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown_test.html +++ b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown_test.html @@ -35,6 +35,9 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + }); element = fixture('basic'); }); diff --git a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html index 0b40d87903..aef338b35b 100644 --- a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html +++ b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.html @@ -35,6 +35,9 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + }); stub('gr-main-header', { _loadAccount: function() {}, }); diff --git a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder_test.html b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder_test.html index 341e959b4a..69fea31caf 100644 --- a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder_test.html +++ b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder_test.html @@ -57,6 +57,9 @@ limitations under the License. var builder; setup(function() { + stub('gr-rest-api-interface', { + getLoggedIn: function() { return Promise.resolve(false); }, + }); var prefs = { line_length: 10, show_tabs: true, @@ -534,7 +537,8 @@ limitations under the License. line_length: 10, show_tabs: true, tab_size: 4, - context: -1 + context: -1, + syntax_highlighting: true, }; content = [ { @@ -554,9 +558,11 @@ limitations under the License. }); element = fixture('basic'); outputEl = element.queryEffectiveChildren('#diffTable'); - element.addEventListener('render', function() { + var renderHandler = function() { + element.removeEventListener('render', renderHandler); done(); - }); + }; + element.addEventListener('render', renderHandler); sinon.stub(element, '_getDiffBuilder', function() { var builder = new GrDiffBuilder( {content: content}, {left: [], right: []}, prefs, outputEl); @@ -614,7 +620,7 @@ limitations under the License. assert.strictEqual(sections[1], section[1]); }); - test('render-start and render are fired', function() { + test('render-start and render are fired', function(done) { var fireStub = sinon.stub(element, 'fire'); element.render({left: [], right: []}, {}); flush(function() { @@ -625,18 +631,24 @@ limitations under the License. }); test('rendering normal-sized diff does not disable syntax', function() { - flush(function() { - assert.isTrue(element.$.syntaxLayer.enabled); - }); + assert.isTrue(element.$.syntaxLayer.enabled); }); - test('rendering large diff disables syntax', function() { + test('rendering large diff disables syntax', function(done) { // Before it renders, set the first diff line to 500 '*' characters. - element.diff.content[0].a = new Array(501).join('*'); - - flush(function() { + element.diff.content[0].a = [new Array(501).join('*')]; + element.addEventListener('render', function() { assert.isFalse(element.$.syntaxLayer.enabled); + done(); }); + var prefs = { + line_length: 10, + show_tabs: true, + tab_size: 4, + context: -1, + syntax_highlighting: true, + }; + element.render({left: [], right: []}, prefs); }); }); diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.html b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.html index 20ed61f673..77dce25d12 100644 --- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.html +++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.html @@ -36,7 +36,6 @@ limitations under the License. var element; suite('not logged in', function() { - setup(function() { stub('gr-rest-api-interface', { getLoggedIn: function() { return Promise.resolve(false); }, @@ -340,10 +339,12 @@ limitations under the License. }); suite('logged in', function() { - setup(function() { stub('gr-rest-api-interface', { getLoggedIn: function() { return Promise.resolve(true); }, + getPreferences: function() { + return Promise.resolve({time_format: 'HHMM_12'}); + }, }); element = fixture('basic'); }); diff --git a/polygerrit-ui/app/elements/gr-app_test.html b/polygerrit-ui/app/elements/gr-app_test.html index 93738200e0..5ee3256046 100644 --- a/polygerrit-ui/app/elements/gr-app_test.html +++ b/polygerrit-ui/app/elements/gr-app_test.html @@ -39,17 +39,21 @@ limitations under the License. stub('gr-reporting', { appStarted: sandbox.stub(), }); - var config = { - gerrit: {web_uis: ['GWT', 'POLYGERRIT']}, - plugin: {js_resource_paths: []}, - }; stub('gr-rest-api-interface', { - getConfig: function() { return Promise.resolve(config); }, + getAccount: function() { return Promise.resolve(null); }, + getConfig: function() { + return Promise.resolve({ + gerrit: {web_uis: ['GWT', 'POLYGERRIT']}, + plugin: {js_resource_paths: []}, + }); + }, + getVersion: function() { return Promise.resolve(42); }, }); element = fixture('basic'); flush(done); }); + teardown(function() { sandbox.restore(); }); @@ -58,28 +62,31 @@ limitations under the License. assert.isTrue(element.$.reporting.appStarted.calledOnce); }); - test('location change updates gwt footer', function() { + test('location change updates gwt footer', function(done) { element._path = '/test/path'; - var gwtLink = element.$$('#gwtLink'); - assert.equal(gwtLink.href, - 'http://' + location.host + '/?polygerrit=0#/test/path'); + flush(function() { + var gwtLink = element.$$('#gwtLink'); + assert.equal(gwtLink.href, + 'http://' + location.host + '/?polygerrit=0#/test/path'); + done(); + }); }); - test('_handleLocationChange handles hashes', function() { + test('_handleLocationChange handles hashes', function(done) { var curLocation = { pathname: '/c/1/1/testfile.txt', hash: '#2', host: location.host, }; + sandbox.stub(element, '_handleSearchPageChange'); + element._handleLocationChange({detail: curLocation}); - var event = {detail: curLocation}; - var gwtLink = element.$$('#gwtLink'); - - sinon.stub(element, '_handleSearchPageChange'); - - element._handleLocationChange(event); - assert.equal(gwtLink.href, - 'http://' + location.host + '/?polygerrit=0#/c/1/1/testfile.txt@2'); + flush(function() { + var gwtLink = element.$$('#gwtLink'); + assert.equal(gwtLink.href, + 'http://' + location.host + '/?polygerrit=0#/c/1/1/testfile.txt@2'); + done(); + }) }); test('sets plugins count', function() { diff --git a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.html b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.html index eacd710072..f3d8861136 100644 --- a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.html +++ b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.html @@ -35,6 +35,10 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + getLoggedIn: function() { return Promise.resolve(false); }, + }); element = fixture('basic'); }); diff --git a/polygerrit-ui/app/elements/shared/gr-account-link/gr-account-link_test.html b/polygerrit-ui/app/elements/shared/gr-account-link/gr-account-link_test.html index 1a84d156d6..e111d9ba3c 100644 --- a/polygerrit-ui/app/elements/shared/gr-account-link/gr-account-link_test.html +++ b/polygerrit-ui/app/elements/shared/gr-account-link/gr-account-link_test.html @@ -20,7 +20,6 @@ limitations under the License. - @@ -35,6 +34,9 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + }); element = fixture('basic'); }); diff --git a/polygerrit-ui/app/elements/shared/gr-avatar/gr-avatar_test.html b/polygerrit-ui/app/elements/shared/gr-avatar/gr-avatar_test.html index ae514ba8f0..5ab27af3a5 100644 --- a/polygerrit-ui/app/elements/shared/gr-avatar/gr-avatar_test.html +++ b/polygerrit-ui/app/elements/shared/gr-avatar/gr-avatar_test.html @@ -34,6 +34,9 @@ limitations under the License. var element; setup(function() { + stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, + }); element = fixture('basic'); }); diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-reply-js-api_test.html b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-reply-js-api_test.html index 2e5aa56a89..304982cab8 100644 --- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-reply-js-api_test.html +++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-reply-js-api_test.html @@ -42,6 +42,7 @@ breaking changes to gr-reply-dialog won’t be noticed. setup(function() { stub('gr-rest-api-interface', { + getConfig: function() { return Promise.resolve({}); }, getAccount: function() { return Promise.resolve(null); }, }); element = fixture('basic');