Chromium Code Reviews| Index: chrome/test/data/webui/md_user_manager/control_bar_tests.js |
| diff --git a/chrome/test/data/webui/md_user_manager/control_bar_tests.js b/chrome/test/data/webui/md_user_manager/control_bar_tests.js |
| index 5adfbd97108aa70ca0fb103e1683069355e8196a..40c86a3fcbbc821150e3f37e6d0512945d04214e 100644 |
| --- a/chrome/test/data/webui/md_user_manager/control_bar_tests.js |
| +++ b/chrome/test/data/webui/md_user_manager/control_bar_tests.js |
| @@ -3,22 +3,28 @@ |
| // found in the LICENSE file. |
| cr.define('user_manager.control_bar_tests', function() { |
| + /** @return {!ControlBarElement} */ |
| + function createElement() { |
| + PolymerTest.clearBody(); |
| + controlBarElement = document.createElement('control-bar'); |
|
dpapad
2016/05/31 22:07:41
I don't think you want to declare a global var her
Moe
2016/05/31 22:47:39
Done.
|
| + document.body.appendChild(controlBarElement); |
| + return controlBarElement; |
| + } |
| + |
| function registerTests() { |
| - suite('ControlBarTests', function() { |
| - /** @type {?TestProfileBrowserProxy} */ |
| - var browserProxy = null; |
| + /** @type {?TestProfileBrowserProxy} */ |
| + var browserProxy = null; |
| - /** @type {?ControlBarElement} */ |
| - var controlBarElement = null; |
| + /** @type {?ControlBarElement} */ |
| + var controlBarElement = null; |
| + suite('ControlBarTests', function() { |
| setup(function() { |
| browserProxy = new TestProfileBrowserProxy(); |
| // Replace real proxy with mock proxy. |
| signin.ProfileBrowserProxyImpl.instance_ = browserProxy; |
| - PolymerTest.clearBody(); |
| - controlBarElement = document.createElement('control-bar'); |
| - document.body.appendChild(controlBarElement); |
| + controlBarElement = createElement(); |
| }); |
| teardown(function() { controlBarElement.remove(); }); |
| @@ -54,6 +60,73 @@ cr.define('user_manager.control_bar_tests', function() { |
| return browserProxy.whenCalled('launchGuestUser'); |
| }); |
| }); |
| + |
| + suite('ControlBarTestsAllProfilesAreLocked', function() { |
| + /** @type {?ErrorDialogElement} */ |
| + var errorDialogElement = null; |
| + |
| + setup(function() { |
| + browserProxy = new TestProfileBrowserProxy(); |
| + // Replace real proxy with mock proxy. |
| + signin.ProfileBrowserProxyImpl.instance_ = browserProxy; |
| + |
| + browserProxy.setAtLeastOneProfileUnlocked_(false); |
| + |
| + controlBarElement = createElement(); |
| + |
| + errorDialogElement = document.createElement('error-dialog'); |
| + document.body.appendChild(errorDialogElement); |
| + }); |
| + |
| + teardown(function() { |
| + controlBarElement.remove(); |
| + errorDialogElement.remove(); |
| + }); |
| + |
| + test('Cannot create profile', function() { |
| + return new Promise(function(resolve, reject) { |
| + controlBarElement.addEventListener('change-page', function(event) { |
| + // We don't expect to go to the 'create-profile' page. |
| + assertNotReached('Should not go to the create-profile page.'); |
| + }); |
| + |
| + cr.addWebUIListener('show-error-dialog', function() { |
| + // Make sure DOM is up to date. |
| + Polymer.dom.flush(); |
| + |
| + // The dialog is visible. |
| + assertLT(0, errorDialogElement.$$('#backdrop').offsetHeight); |
| + |
| + resolve(); |
| + }); |
| + |
| + // Simulate clicking 'Create Profile'. |
| + MockInteractions.tap(controlBarElement.$.addUser); |
| + }); |
| + }); |
| + |
| + test('Cannot launch guest profile', function() { |
| + return new Promise(function(resolve, reject) { |
| + browserProxy.whenCalled('launchGuestUser').then(function() { |
| + // Should not launch guest profile. |
| + assertNotReached('Should not launch guest profile.'); |
| + }); |
| + |
| + cr.addWebUIListener('show-error-dialog', function() { |
| + // Make sure DOM is up to date. |
| + Polymer.dom.flush(); |
| + |
| + // The error dialog is visible. |
| + assertLT(0, errorDialogElement.$$('#backdrop').offsetHeight); |
| + |
| + resolve(); |
| + }); |
| + |
| + // Simulate clicking 'Browse as guest'. |
| + MockInteractions.tap(controlBarElement.$.launchGuest); |
| + }); |
| + }); |
| + }); |
| } |
| return { |