Merge "Add ability to not pass in the server config to the gr-change-view"

This commit is contained in:
Wyatt Allen
2017-06-13 22:53:34 +00:00
committed by Gerrit Code Review
3 changed files with 30 additions and 16 deletions

View File

@@ -76,14 +76,14 @@
},
backPage: String,
hasParent: Boolean,
serverConfig: {
type: Object,
observer: '_startUpdateCheckTimer',
},
keyEventTarget: {
type: Object,
value() { return document.body; },
},
_serverConfig: {
type: Object,
observer: '_startUpdateCheckTimer',
},
_diffPrefs: Object,
_numFilesShown: {
type: Number,
@@ -165,7 +165,7 @@
_replyDisabled: {
type: Boolean,
value: true,
computed: '_computeReplyDisabled(serverConfig)',
computed: '_computeReplyDisabled(_serverConfig)',
},
_changeStatus: {
type: String,
@@ -206,6 +206,10 @@
},
attached() {
this._getServerConfig().then(config => {
this._serverConfig = config;
});
this._getLoggedIn().then(loggedIn => {
this._loggedIn = loggedIn;
if (loggedIn) {
@@ -900,6 +904,10 @@
return this.$.restAPI.getLoggedIn();
},
_getServerConfig() {
return this.$.restAPI.getConfig();
},
_getProjectConfig() {
return this.$.restAPI.getProjectConfig(this._change.project).then(
config => {
@@ -1256,10 +1264,10 @@
},
_startUpdateCheckTimer() {
if (!this.serverConfig ||
!this.serverConfig.change ||
this.serverConfig.change.update_delay === undefined ||
this.serverConfig.change.update_delay <= MIN_CHECK_INTERVAL_SECS) {
if (!this._serverConfig ||
!this._serverConfig.change ||
this._serverConfig.change.update_delay === undefined ||
this._serverConfig.change.update_delay <= MIN_CHECK_INTERVAL_SECS) {
return;
}
@@ -1283,7 +1291,7 @@
});
}
});
}, this.serverConfig.change.update_delay * 1000);
}, this._serverConfig.change.update_delay * 1000);
},
_cancelUpdateCheckTimer() {

View File

@@ -44,7 +44,7 @@ limitations under the License.
sandbox = sinon.sandbox.create();
showStub = sandbox.stub(page, 'show');
stub('gr-rest-api-interface', {
getConfig() { return Promise.resolve({}); },
getConfig() { return Promise.resolve({test: 'config'}); },
getAccount() { return Promise.resolve(null); },
});
element = fixture('basic');
@@ -167,6 +167,13 @@ limitations under the License.
});
});
test('fetches the server config on attached', done => {
flush(() => {
assert.equal(element._serverConfig.test, 'config');
done();
});
});
test('Diff preferences hidden when no prefs or logged out', () => {
element._loggedIn = false;
flushAsynchronousOperations();
@@ -1125,7 +1132,7 @@ limitations under the License.
test('reply button is disabled until server config is loaded', () => {
assert.isTrue(element._replyDisabled);
element.serverConfig = {};
element._serverConfig = {};
assert.isFalse(element._replyDisabled);
});
@@ -1278,7 +1285,7 @@ limitations under the License.
test('_startUpdateCheckTimer negative delay', () => {
sandbox.stub(element, 'fetchIsLatestKnown');
element.serverConfig = {change: {update_delay: -1}};
element._serverConfig = {change: {update_delay: -1}};
assert.isTrue(element._startUpdateCheckTimer.called);
assert.isFalse(element.fetchIsLatestKnown.called);
@@ -1288,7 +1295,7 @@ limitations under the License.
sandbox.stub(element, 'fetchIsLatestKnown',
() => { return Promise.resolve(true); });
element.serverConfig = {change: {update_delay: 12345}};
element._serverConfig = {change: {update_delay: 12345}};
assert.isTrue(element._startUpdateCheckTimer.called);
assert.isTrue(element.fetchIsLatestKnown.called);
@@ -1301,7 +1308,7 @@ limitations under the License.
element.addEventListener('show-alert', () => {
done();
});
element.serverConfig = {change: {update_delay: 12345}};
element._serverConfig = {change: {update_delay: 12345}};
});
});

View File

@@ -127,7 +127,6 @@ limitations under the License.
<template is="dom-if" if="[[_showChangeView]]" restamp="true">
<gr-change-view
params="[[params]]"
server-config="[[_serverConfig]]"
view-state="{{_viewState.changeView}}"
back-page="[[_lastSearchPage]]"></gr-change-view>
</template>