OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('user_manager.create_profile_tests', function() { | 5 cr.define('user_manager.create_profile_tests', function() { |
6 /** @return {!CreateProfileElement} */ | 6 /** @return {!CreateProfileElement} */ |
7 function createElement() { | 7 function createElement() { |
8 var createProfileElement = document.createElement('create-profile'); | 8 var createProfileElement = document.createElement('create-profile'); |
9 document.body.appendChild(createProfileElement); | 9 document.body.appendChild(createProfileElement); |
10 return createProfileElement; | 10 return createProfileElement; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
59 assertEquals('path/to/profile', | 59 assertEquals('path/to/profile', |
60 createProfileElement.signedInUsers_[0].profilePath); | 60 createProfileElement.signedInUsers_[0].profilePath); |
61 | 61 |
62 // The 'learn more' link is visible. | 62 // The 'learn more' link is visible. |
63 assertTrue(!!createProfileElement.$$('#learn-more > a')); | 63 assertTrue(!!createProfileElement.$$('#learn-more > a')); |
64 | 64 |
65 // The dropdown menu becomes visible when the checkbox is checked. | 65 // The dropdown menu becomes visible when the checkbox is checked. |
66 assertFalse(!!createProfileElement.$$('paper-dropdown-menu')); | 66 assertFalse(!!createProfileElement.$$('paper-dropdown-menu')); |
67 | 67 |
68 // Simulate checking the supervised user checkbox. | 68 // Simulate checking the supervised user checkbox. |
69 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 69 MockInteractions.tap( |
70 createProfileElement.$$("#makeSupervisedCheckbox")); | |
70 Polymer.dom.flush(); | 71 Polymer.dom.flush(); |
71 | 72 |
72 // The dropdown menu is visible and is populated with signed in users. | 73 // The dropdown menu is visible and is populated with signed in users. |
73 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); | 74 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); |
74 assertTrue(!!dropdownMenu); | 75 assertTrue(!!dropdownMenu); |
75 var users = dropdownMenu.querySelectorAll('paper-item'); | 76 var users = dropdownMenu.querySelectorAll('paper-item'); |
76 assertEquals(1, users.length); | 77 assertEquals(1, users.length); |
77 }); | 78 }); |
78 }); | 79 }); |
79 | 80 |
(...skipping 28 matching lines...) Expand all Loading... | |
108 assertEquals('icon1.png', args.profileIconUrl); | 109 assertEquals('icon1.png', args.profileIconUrl); |
109 assertFalse(args.createShortcut); | 110 assertFalse(args.createShortcut); |
110 assertFalse(args.isSupervised); | 111 assertFalse(args.isSupervised); |
111 assertEquals('', args.supervisedUserId); | 112 assertEquals('', args.supervisedUserId); |
112 assertEquals('', args.custodianProfilePath); | 113 assertEquals('', args.custodianProfilePath); |
113 }); | 114 }); |
114 }); | 115 }); |
115 | 116 |
116 test('Has to select a custodian for the supervised profile', function() { | 117 test('Has to select a custodian for the supervised profile', function() { |
117 // Simulate checking the supervised user checkbox. | 118 // Simulate checking the supervised user checkbox. |
118 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 119 MockInteractions.tap( |
120 createProfileElement.$$("#makeSupervisedCheckbox")); | |
119 Polymer.dom.flush(); | 121 Polymer.dom.flush(); |
120 | 122 |
121 // Simulate clicking 'Create'. | 123 // Simulate clicking 'Create'. |
122 MockInteractions.tap(createProfileElement.$.save); | 124 MockInteractions.tap(createProfileElement.$.save); |
123 | 125 |
124 // Create is not in progress. | 126 // Create is not in progress. |
125 assertFalse(createProfileElement.createInProgress_); | 127 assertFalse(createProfileElement.createInProgress_); |
126 // Message container is visible. | 128 // Message container is visible. |
127 var messageContainer = | 129 var messageContainer = |
128 createProfileElement.$$('#message-container'); | 130 createProfileElement.$$('#message-container'); |
129 assertTrue(messageContainer.clientHeight > 0); | 131 assertTrue(messageContainer.clientHeight > 0); |
130 // Error message is set. | 132 // Error message is set. |
131 assertEquals( | 133 assertEquals( |
132 loadTimeData.getString('custodianAccountNotSelectedError'), | 134 loadTimeData.getString('custodianAccountNotSelectedError'), |
133 createProfileElement.$.message.innerHTML); | 135 createProfileElement.$.message.innerHTML); |
134 }); | 136 }); |
135 | 137 |
136 test('Supervised profile name is duplicate (on the device)', function() { | 138 test('Supervised profile name is duplicate (on the device)', function() { |
137 // Simulate checking the supervised user checkbox. | 139 // Simulate checking the supervised user checkbox. |
138 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 140 MockInteractions.tap( |
141 createProfileElement.$$("#makeSupervisedCheckbox")); | |
139 Polymer.dom.flush(); | 142 Polymer.dom.flush(); |
140 | 143 |
141 // There is an existing supervised user with this name on the device. | 144 // There is an existing supervised user with this name on the device. |
142 createProfileElement.$.nameInput.value = 'existing name 1'; | 145 createProfileElement.$.nameInput.value = 'existing name 1'; |
143 | 146 |
144 // Select the first signed in user. | 147 // Select the first signed in user. |
145 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); | 148 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); |
146 var selector = dropdownMenu.querySelector('paper-listbox'); | 149 var selector = dropdownMenu.querySelector('paper-listbox'); |
147 selector.selected = 0; | 150 selector.selected = 0; |
148 | 151 |
(...skipping 10 matching lines...) Expand all Loading... | |
159 assertTrue(messageContainer.clientHeight > 0); | 162 assertTrue(messageContainer.clientHeight > 0); |
160 // Error message is set. | 163 // Error message is set. |
161 var message = loadTimeData.getString( | 164 var message = loadTimeData.getString( |
162 'managedProfilesExistingLocalSupervisedUser'); | 165 'managedProfilesExistingLocalSupervisedUser'); |
163 assertEquals(message, createProfileElement.$.message.innerHTML); | 166 assertEquals(message, createProfileElement.$.message.innerHTML); |
164 }); | 167 }); |
165 }); | 168 }); |
166 | 169 |
167 test('Supervised profile name is duplicate (remote)', function() { | 170 test('Supervised profile name is duplicate (remote)', function() { |
168 // Simulate checking the supervised user checkbox. | 171 // Simulate checking the supervised user checkbox. |
169 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 172 MockInteractions.tap( |
173 createProfileElement.$$("#makeSupervisedCheckbox")); | |
170 Polymer.dom.flush(); | 174 Polymer.dom.flush(); |
171 | 175 |
172 // There is an existing supervised user with this name on the device. | 176 // There is an existing supervised user with this name on the device. |
173 createProfileElement.$.nameInput.value = 'existing name 2'; | 177 createProfileElement.$.nameInput.value = 'existing name 2'; |
174 | 178 |
175 // Select the first signed in user. | 179 // Select the first signed in user. |
176 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); | 180 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); |
177 var selector = dropdownMenu.querySelector('paper-listbox'); | 181 var selector = dropdownMenu.querySelector('paper-listbox'); |
178 selector.selected = 0; | 182 selector.selected = 0; |
179 | 183 |
(...skipping 12 matching lines...) Expand all Loading... | |
192 var message = createProfileElement.$.message; | 196 var message = createProfileElement.$.message; |
193 assertTrue( | 197 assertTrue( |
194 !!message.querySelector('#supervised-user-import-existing')); | 198 !!message.querySelector('#supervised-user-import-existing')); |
195 }); | 199 }); |
196 }); | 200 }); |
197 | 201 |
198 test('Displays error if custodian has no supervised users', function() { | 202 test('Displays error if custodian has no supervised users', function() { |
199 browserProxy.setExistingSupervisedUsers([]); | 203 browserProxy.setExistingSupervisedUsers([]); |
200 | 204 |
201 // Simulate checking the supervised user checkbox. | 205 // Simulate checking the supervised user checkbox. |
202 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 206 MockInteractions.tap( |
207 createProfileElement.$$("#makeSupervisedCheckbox")); | |
203 Polymer.dom.flush(); | 208 Polymer.dom.flush(); |
204 | 209 |
205 // Select the first signed in user. | 210 // Select the first signed in user. |
206 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); | 211 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); |
207 var selector = dropdownMenu.querySelector('paper-listbox'); | 212 var selector = dropdownMenu.querySelector('paper-listbox'); |
208 selector.selected = 0; | 213 selector.selected = 0; |
209 | 214 |
210 // Simulate clicking 'Import supervised user'. | 215 // Simulate clicking 'Import supervised user'. |
211 MockInteractions.tap(createProfileElement.$$('#import-user')); | 216 MockInteractions.tap(createProfileElement.$$('#import-user')); |
212 | 217 |
213 return browserProxy.whenCalled('getExistingSupervisedUsers').then( | 218 return browserProxy.whenCalled('getExistingSupervisedUsers').then( |
214 function(args) { | 219 function(args) { |
215 // Create is not in progress. | 220 // Create is not in progress. |
216 assertFalse(createProfileElement.createInProgress_); | 221 assertFalse(createProfileElement.createInProgress_); |
217 // Message container is visible. | 222 // Message container is visible. |
218 var messageContainer = | 223 var messageContainer = |
219 createProfileElement.$$('#message-container'); | 224 createProfileElement.$$('#message-container'); |
220 assertTrue(messageContainer.clientHeight > 0); | 225 assertTrue(messageContainer.clientHeight > 0); |
221 // Error message is set. | 226 // Error message is set. |
222 var message = loadTimeData.getString( | 227 var message = loadTimeData.getString( |
223 'noSupervisedUserImportText'); | 228 'noSupervisedUserImportText'); |
224 assertEquals(message, createProfileElement.$.message.innerHTML); | 229 assertEquals(message, createProfileElement.$.message.innerHTML); |
225 }); | 230 }); |
226 }); | 231 }); |
227 | 232 |
228 test('Create supervised profile', function() { | 233 test('Create supervised profile', function() { |
229 // Simulate checking the supervised user checkbox. | 234 // Simulate checking the supervised user checkbox. |
230 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 235 MockInteractions.tap( |
236 createProfileElement.$$("#makeSupervisedCheckbox")); | |
231 Polymer.dom.flush(); | 237 Polymer.dom.flush(); |
232 | 238 |
233 // Select the first signed in user. | 239 // Select the first signed in user. |
234 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); | 240 var dropdownMenu = createProfileElement.$$('paper-dropdown-menu'); |
235 var selector = dropdownMenu.querySelector('paper-listbox'); | 241 var selector = dropdownMenu.querySelector('paper-listbox'); |
236 selector.selected = 0; | 242 selector.selected = 0; |
237 | 243 |
238 // Simulate clicking 'Create'. | 244 // Simulate clicking 'Create'. |
239 MockInteractions.tap(createProfileElement.$.save); | 245 MockInteractions.tap(createProfileElement.$.save); |
240 | 246 |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
411 createProfileElement.remove(); | 417 createProfileElement.remove(); |
412 // Allow asynchronous tasks to finish. | 418 // Allow asynchronous tasks to finish. |
413 setTimeout(done); | 419 setTimeout(done); |
414 }); | 420 }); |
415 | 421 |
416 test('Handles no signed in users', function() { | 422 test('Handles no signed in users', function() { |
417 return browserProxy.whenCalled('getSignedInUsers').then(function() { | 423 return browserProxy.whenCalled('getSignedInUsers').then(function() { |
418 assertEquals(0, createProfileElement.signedInUsers_.length); | 424 assertEquals(0, createProfileElement.signedInUsers_.length); |
419 | 425 |
420 // Simulate checking the supervised user checkbox. | 426 // Simulate checking the supervised user checkbox. |
421 MockInteractions.tap(createProfileElement.$.makeSupervisedCheckbox); | 427 MockInteractions.tap( |
428 createProfileElement.$$("#makeSupervisedCheckbox")); | |
422 Polymer.dom.flush(); | 429 Polymer.dom.flush(); |
423 | 430 |
424 // The dropdown menu is not visible when there are no signed in users. | 431 // The dropdown menu is not visible when there are no signed in users. |
425 assertFalse(!!createProfileElement.$$('paper-dropdown-menu')); | 432 assertFalse(!!createProfileElement.$$('paper-dropdown-menu')); |
426 | 433 |
427 // Instead a message containing a link to the Help Center on how | 434 // Instead a message containing a link to the Help Center on how |
428 // to sign in to Chrome is displaying. | 435 // to sign in to Chrome is displaying. |
429 assertTrue(!!createProfileElement.$$('#sign-in-to-chrome')); | 436 assertTrue(!!createProfileElement.$$('#sign-in-to-chrome')); |
430 }); | 437 }); |
431 }); | 438 }); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
500 return browserProxy.whenCalled('createProfile').then(function(args) { | 507 return browserProxy.whenCalled('createProfile').then(function(args) { |
501 assertEquals('profile name', args.profileName); | 508 assertEquals('profile name', args.profileName); |
502 assertEquals('icon1.png', args.profileIconUrl); | 509 assertEquals('icon1.png', args.profileIconUrl); |
503 assertTrue(args.createShortcut); | 510 assertTrue(args.createShortcut); |
504 assertFalse(args.isSupervised); | 511 assertFalse(args.isSupervised); |
505 assertEquals('', args.supervisedUserId); | 512 assertEquals('', args.supervisedUserId); |
506 assertEquals('', args.custodianProfilePath); | 513 assertEquals('', args.custodianProfilePath); |
507 }); | 514 }); |
508 }); | 515 }); |
509 }); | 516 }); |
517 | |
518 suite('CreateProfileTestsForceSigninPolicy', function() { | |
519 setup(function() { | |
520 browserProxy = new TestProfileBrowserProxy(); | |
521 // Replace real proxy with mock proxy. | |
522 signin.ProfileBrowserProxyImpl.instance_ = browserProxy; | |
523 browserProxy.setIcons([{url: 'icon1.png', label: 'icon1'}]); | |
524 }); | |
525 | |
526 teardown(function(done) { | |
527 createProfileElement.remove(); | |
528 // Allow asynchronous tasks to finish. | |
529 setTimeout(done); | |
530 }); | |
531 | |
532 test('force sign in policy enabled', function () { | |
533 loadTimeData.overrideValues({ | |
534 isForceSigninEnabled: true, | |
535 }); | |
536 createProfileElement = createElement(); | |
537 Polymer.dom.flush(); | |
538 | |
539 var createSupervisedUserCheckbox = | |
540 createProfileElement.$$("#makeSupervisedCheckbox"); | |
541 assertEquals(null, createSupervisedUserCheckbox); | |
Moe
2016/12/12 21:13:01
do assertFalse(!!createSupervisedUserCheckbox) ins
zmin
2016/12/12 21:38:11
Done.
| |
542 }); | |
543 | |
544 test('force sign in policy not enabled', function () { | |
545 loadTimeData.overrideValues({ | |
546 isForceSigninEnabled: false, | |
547 }); | |
548 createProfileElement = createElement(); | |
549 Polymer.dom.flush(); | |
550 | |
551 var createSupervisedUserCheckbox = | |
552 createProfileElement.$$("#makeSupervisedCheckbox"); | |
553 assertTrue(createSupervisedUserCheckbox.clientHeight > 0); | |
554 }); | |
555 }); | |
510 } | 556 } |
511 | 557 |
512 return { | 558 return { |
513 registerTests: registerTests, | 559 registerTests: registerTests, |
514 }; | 560 }; |
515 }); | 561 }); |
OLD | NEW |