Chromium Code Reviews| Index: chrome/test/data/webui/settings/people_page_test.js |
| diff --git a/chrome/test/data/webui/settings/people_page_test.js b/chrome/test/data/webui/settings/people_page_test.js |
| index 7105e0cb480164f8c0a656dcdaa50f084cac4ee5..6bc96e32ebdac9e623190e69f8e76f9aa14fad5b 100644 |
| --- a/chrome/test/data/webui/settings/people_page_test.js |
| +++ b/chrome/test/data/webui/settings/people_page_test.js |
| @@ -3,41 +3,41 @@ |
| // found in the LICENSE file. |
| cr.define('settings_people_page', function() { |
| - /** |
| - * @constructor |
| - * @implements {settings.ProfileInfoBrowserProxy} |
| - * @extends {settings.TestBrowserProxy} |
| - */ |
| - var TestProfileInfoBrowserProxy = function() { |
| - settings.TestBrowserProxy.call(this, [ |
| - 'getProfileInfo', |
| - 'getProfileManagesSupervisedUsers', |
| - ]); |
| - }; |
| - |
| - TestProfileInfoBrowserProxy.prototype = { |
| - __proto__: settings.TestBrowserProxy.prototype, |
| - |
| - fakeProfileInfo: { |
| - name: 'fakeName', |
| - iconUrl: 'http://fake-icon-url.com/', |
| - }, |
| - |
| - /** @override */ |
| - getProfileInfo: function() { |
| - this.methodCalled('getProfileInfo'); |
| - return Promise.resolve(this.fakeProfileInfo); |
| - }, |
| - |
| - /** @override */ |
| - getProfileManagesSupervisedUsers: function() { |
| - this.methodCalled('getProfileManagesSupervisedUsers'); |
| - return Promise.resolve(false); |
| - } |
| - }; |
| - |
| function registerProfileInfoTests() { |
| suite('ProfileInfoTests', function() { |
| + /** |
| + * @constructor |
| + * @implements {settings.ProfileInfoBrowserProxy} |
| + * @extends {settings.TestBrowserProxy} |
| + */ |
| + var TestProfileInfoBrowserProxy = function() { |
| + settings.TestBrowserProxy.call(this, [ |
| + 'getProfileInfo', |
| + 'getProfileManagesSupervisedUsers', |
| + ]); |
| + }; |
| + |
| + TestProfileInfoBrowserProxy.prototype = { |
| + __proto__: settings.TestBrowserProxy.prototype, |
| + |
| + fakeProfileInfo: { |
|
dpapad
2016/06/29 22:09:34
You probably want this declared in the constructor
tommycli
2016/06/29 22:30:10
Done.
|
| + name: 'fakeName', |
| + iconUrl: 'http://fake-icon-url.com/', |
| + }, |
| + |
| + /** @override */ |
| + getProfileInfo: function() { |
| + this.methodCalled('getProfileInfo'); |
| + return Promise.resolve(this.fakeProfileInfo); |
| + }, |
| + |
| + /** @override */ |
| + getProfileManagesSupervisedUsers: function() { |
| + this.methodCalled('getProfileManagesSupervisedUsers'); |
| + return Promise.resolve(false); |
| + } |
| + }; |
| + |
| var peoplePage = null; |
| var browserProxy = null; |
| @@ -96,9 +96,117 @@ cr.define('settings_people_page', function() { |
| }); |
| } |
| + function registerSyncStatusTests() { |
| + suite('SyncStatusTests', function() { |
| + /** |
|
dpapad
2016/06/29 22:09:34
Nit(optional): Is a bit odd to define a whole clas
tommycli
2016/06/29 22:30:10
Done.
|
| + * @constructor |
| + * @implements {settings.SyncBrowserProxy} |
| + * @extends {settings.TestBrowserProxy} |
| + */ |
| + var TestSyncBrowserProxy = function() { |
|
tommycli
2016/06/29 19:20:31
I realize there is also a TestSyncBrowserProxy wit
|
| + settings.TestBrowserProxy.call(this, [ |
| + 'getSyncStatus', |
| + 'signOut', |
| + ]); |
| + }; |
| + |
| + TestSyncBrowserProxy.prototype = { |
| + __proto__: settings.TestBrowserProxy.prototype, |
| + |
| + /** @override */ |
| + getSyncStatus: function() { |
| + this.methodCalled('getSyncStatus'); |
| + return Promise.resolve({ |
| + signedIn: true, |
| + }); |
| + }, |
| + |
| + /** @override */ |
| + signOut: function(deleteProfile) { |
| + this.methodCalled('signOut', deleteProfile); |
| + }, |
| + }; |
| + |
| + var peoplePage = null; |
| + var browserProxy = null; |
| + |
| + suiteSetup(function() { |
| + // Force easy unlock off. Those have their own ChromeOS-only tests. |
| + loadTimeData.overrideValues({ |
| + easyUnlockAllowed: false, |
| + }); |
| + }); |
| + |
| + setup(function() { |
| + browserProxy = new TestSyncBrowserProxy(); |
| + settings.SyncBrowserProxyImpl.instance_ = browserProxy; |
| + |
| + PolymerTest.clearBody(); |
| + peoplePage = document.createElement('settings-people-page'); |
| + document.body.appendChild(peoplePage); |
| + }); |
| + |
| + teardown(function() { peoplePage.remove(); }); |
| + |
| + test('GetProfileInfo', function() { |
| + return browserProxy.whenCalled('getSyncStatus').then(function() { |
| + Polymer.dom.flush(); |
| + var disconnectButton = peoplePage.$$('#disconnectButton'); |
| + assertTrue(!!disconnectButton); |
| + |
| + MockInteractions.tap(disconnectButton); |
| + Polymer.dom.flush(); |
| + |
| + assertTrue(peoplePage.$.disconnectDialog.opened); |
| + assertFalse(peoplePage.$.deleteProfile.hidden); |
| + |
| + var disconnectConfirm = peoplePage.$.disconnectConfirm; |
| + assertTrue(!!disconnectConfirm); |
| + assertFalse(disconnectConfirm.hidden); |
| + MockInteractions.tap(disconnectConfirm); |
| + |
| + return browserProxy.whenCalled('signOut').then( |
| + function(deleteProfile) { |
| + Polymer.dom.flush(); |
| + |
| + assertFalse(deleteProfile); |
| + |
| + cr.webUIListenerCallback('sync-status-changed', { |
| + signedIn: true, |
| + domain: 'example.com', |
| + }); |
| + Polymer.dom.flush(); |
| + |
| + assertFalse(peoplePage.$.disconnectDialog.opened); |
| + MockInteractions.tap(disconnectButton); |
| + Polymer.dom.flush(); |
| + |
| + assertTrue(peoplePage.$.disconnectDialog.opened); |
| + assertTrue(peoplePage.$.deleteProfile.hidden); |
| + |
| + var disconnectManagedProfileConfirm = |
| + peoplePage.$.disconnectManagedProfileConfirm; |
| + assertTrue(!!disconnectManagedProfileConfirm); |
| + assertFalse(disconnectManagedProfileConfirm.hidden); |
| + |
| + browserProxy.resetResolver('signOut'); |
| + MockInteractions.tap(disconnectManagedProfileConfirm); |
| + |
| + return browserProxy.whenCalled('signOut').then( |
| + function(deleteProfile) { |
| + assertTrue(deleteProfile); |
| + }); |
| + }); |
| + }); |
| + }); |
| + }); |
| + } |
| + |
| return { |
| registerTests: function() { |
| registerProfileInfoTests(); |
| + if (!cr.isChromeOS) |
| + registerSyncStatusTests(); |
| }, |
| }; |
| }); |