Merge "Mark RestApiModule#view as private"
diff --git a/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.html b/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.html
index c94a716..582c83b 100644
--- a/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.html
+++ b/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.html
@@ -37,7 +37,6 @@
threshold="[[suggestFrom]]"
query="[[query]]"
allow-non-suggested-values="[[allowAnyInput]]"
- no-debounce
on-commit="_handleInputCommit"
clear-on-commit
warn-uncommitted
diff --git a/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.js b/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.js
index 5cb3b77..86e3903 100644
--- a/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.js
+++ b/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry.js
@@ -69,6 +69,8 @@
type: String,
observer: '_inputTextChanged',
},
+
+ _loggedIn: Boolean,
},
behaviors: [
@@ -79,6 +81,9 @@
this.$.restAPI.getConfig().then(cfg => {
this._config = cfg;
});
+ this.$.restAPI.getLoggedIn().then(loggedIn => {
+ this._loggedIn = loggedIn;
+ });
},
get focusStart() {
@@ -144,7 +149,9 @@
},
_getReviewerSuggestions(input) {
- if (!this.change || !this.change._number) { return Promise.resolve([]); }
+ if (!this.change || !this.change._number || !this._loggedIn) {
+ return Promise.resolve([]);
+ }
const api = this.$.restAPI;
const xhr = this.allowAnyUser ?
diff --git a/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry_test.html b/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry_test.html
index 7d5ddd8..03a0be8 100644
--- a/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry_test.html
+++ b/polygerrit-ui/app/elements/change/gr-account-entry/gr-account-entry_test.html
@@ -65,7 +65,7 @@
let suggestion3;
let element;
- setup(() => {
+ setup(done => {
owner = makeAccount();
existingReviewer1 = makeAccount();
existingReviewer2 = makeAccount();
@@ -78,6 +78,10 @@
},
};
+ stub('gr-rest-api-interface', {
+ getLoggedIn() { return Promise.resolve(true); },
+ });
+
element = fixture('basic');
element.change = {
_number: 42,
@@ -88,6 +92,7 @@
},
};
sandbox = sinon.sandbox.create();
+ return flush(done);
});
teardown(() => {
@@ -168,6 +173,19 @@
}).then(done);
});
});
+
+ test('_getReviewerSuggestions short circuits when logged out', () => {
+ // API call is already stubbed.
+ const xhrSpy = element.$.restAPI.getChangeSuggestedReviewers;
+ element._loggedIn = false;
+ return element._getReviewerSuggestions('').then(() => {
+ assert.isFalse(xhrSpy.called);
+ element._loggedIn = true;
+ return element._getReviewerSuggestions('').then(() => {
+ assert.isTrue(xhrSpy.called);
+ });
+ });
+ });
});
test('allowAnyUser', done => {