diff --git a/polygerrit-ui/app/.eslintrc.json b/polygerrit-ui/app/.eslintrc.json index b5d3daed5a..97151f2c31 100644 --- a/polygerrit-ui/app/.eslintrc.json +++ b/polygerrit-ui/app/.eslintrc.json @@ -63,7 +63,6 @@ "object-shorthand": ["error", "always"], "prefer-arrow-callback": "error", "prefer-const": "error", - "prefer-promise-reject-errors": "off", "prefer-spread": "error", "quote-props": ["error", "consistent-as-needed"], "require-jsdoc": "off", diff --git a/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html b/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html index d4e83d9870..7e686699c1 100644 --- a/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html +++ b/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html @@ -232,7 +232,8 @@ limitations under the License. return restAPI.getChangeDetail(change._number) .then(detail => { if (!detail) { - return Promise.reject('Unable to check for latest patchset.'); + const error = new Error('Unable to check for latest patchset.'); + return Promise.reject(error); } const actualLatest = Gerrit.PatchSetBehavior.computeLatestPatchNum( Gerrit.PatchSetBehavior.computeAllPatchSets(detail)); diff --git a/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members_test.html b/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members_test.html index 81123e7014..b86d97180c 100644 --- a/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members_test.html +++ b/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members_test.html @@ -233,9 +233,10 @@ limitations under the License. const memberName = 'bad-name'; const alertStub = sandbox.stub(); element.addEventListener('show-alert', alertStub); - + const error = new Error('error'); + error.status = 404; sandbox.stub(element.$.restAPI, 'saveGroupMembers', - () => Promise.reject({status: 404})); + () => Promise.reject(error)); element.$.groupMemberSearchInput.text = memberName; element.$.groupMemberSearchInput.value = 1234; diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html index 89d4f1f883..c41d4e4b79 100644 --- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html +++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.html @@ -64,7 +64,9 @@ limitations under the License. }); }, send(method, url, payload) { - if (method !== 'POST') { return Promise.reject('bad method'); } + if (method !== 'POST') { + return Promise.reject(new Error('bad method')); + } if (url === '/changes/test~42/revisions/2/submit') { return Promise.resolve({ @@ -78,7 +80,7 @@ limitations under the License. }); } - return Promise.reject('bad url'); + return Promise.reject(new Error('bad url')); }, getProjectConfig() { return Promise.resolve({}); }, }); diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.js b/polygerrit-ui/app/elements/core/gr-router/gr-router.js index 7bb4656160..cc55974e78 100644 --- a/polygerrit-ui/app/elements/core/gr-router/gr-router.js +++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.js @@ -622,7 +622,7 @@ return Promise.resolve(); } else { this._redirectToLogin(data.canonicalPath); - return Promise.reject(); + return Promise.reject(new Error()); } }); }, diff --git a/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.html b/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.html index 13b31528c2..0a2ae78920 100644 --- a/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.html +++ b/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.html @@ -169,7 +169,7 @@ limitations under the License. const newKeyString = 'not even close to valid'; const addStub = sinon.stub(element.$.restAPI, 'addAccountGPGKey', - () => { return Promise.reject(); }); + () => { return Promise.reject(new Error('error')); }); element._newKey = newKeyString; diff --git a/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.html b/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.html index 8607948ad3..1785d1f120 100644 --- a/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.html +++ b/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.html @@ -155,7 +155,7 @@ limitations under the License. const newKeyString = 'not even close to valid'; const addStub = sinon.stub(element.$.restAPI, 'addAccountSSHKey', - () => { return Promise.reject(); }); + () => { return Promise.reject(new Error('error')); }); element._newKey = newKeyString; diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.html b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.html index bf6a046eb2..ca87956488 100644 --- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.html +++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.html @@ -135,7 +135,7 @@ limitations under the License. __key: 'key', __url: '/changes/1/revisions/2/foo~bar', }; - const sendStub = sandbox.stub().returns(Promise.reject('boom')); + const sendStub = sandbox.stub().returns(Promise.reject(new Error('boom'))); sandbox.stub(plugin, 'restApi').returns({ send: sendStub, }); diff --git a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js index 09eff805c6..2c4404d28e 100644 --- a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js +++ b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js @@ -2506,7 +2506,9 @@ _fetchB64File(url) { return this._fetch({url: this.getBaseUrl() + url}) .then(response => { - if (!response.ok) { return Promise.reject(response.statusText); } + if (!response.ok) { + return Promise.reject(new Error(response.statusText)); + } const type = response.headers.get('X-FYI-Content-Type'); return response.text() .then(text => { @@ -2666,12 +2668,12 @@ return this._send(req) .then(response => { if (response.status < 200 && response.status >= 300) { - return Promise.reject(); + return Promise.reject(new Error('error')); } return this.getResponseObject(response); }) .then(obj => { - if (!obj.valid) { return Promise.reject(); } + if (!obj.valid) { return Promise.reject(new Error('error')); } return obj; }); }, @@ -2701,12 +2703,12 @@ return this._send(req) .then(response => { if (response.status < 200 && response.status >= 300) { - return Promise.reject(); + return Promise.reject(new Error('error')); } return this.getResponseObject(response); }) .then(obj => { - if (!obj) { return Promise.reject(); } + if (!obj) { return Promise.reject(new Error('error')); } return obj; }); }, diff --git a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface_test.html b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface_test.html index 5d4a3b0f41..4ab1e044ce 100644 --- a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface_test.html +++ b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface_test.html @@ -88,10 +88,10 @@ limitations under the License. }); test('cached promise', done => { - const promise = Promise.reject('foo'); + const promise = Promise.reject(new Error('foo')); element._cache.set('/foo', promise); element._fetchSharedCacheURL({url: '/foo'}).catch(p => { - assert.equal(p, 'foo'); + assert.equal(p.message, 'foo'); done(); }); }); @@ -455,7 +455,7 @@ limitations under the License. status: 403, }; window.fetch.onFirstCall().returns( - Promise.reject({message: 'Failed to fetch'})); + Promise.reject(new Error('Failed to fetch'))); window.fetch.onSecondCall().returns(Promise.resolve(fakeAuthResponse)); // Emulate logged in. element._cache.set('/accounts/self/detail', {}); @@ -507,7 +507,7 @@ limitations under the License. element._cache.set('/accounts/self/detail', true); sandbox.spy(element, 'checkCredentials'); sandbox.stub(window, 'fetch', url => { - return Promise.reject({message: 'Failed to fetch'}); + return Promise.reject(new Error('Failed to fetch')); }); return element.getConfig(true) .catch(err => undefined)