| 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('settings_people_page_manage_profile', function() { | 5 cr.define('settings_people_page_manage_profile', function() { |
| 6 /** | 6 /** |
| 7 * @constructor | 7 * @constructor |
| 8 * @implements {settings.ManageProfileBrowserProxy} | 8 * @implements {settings.ManageProfileBrowserProxy} |
| 9 * @extends {settings.TestBrowserProxy} | 9 * @extends {settings.TestBrowserProxy} |
| 10 */ | 10 */ |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 var manageProfile = null; | 36 var manageProfile = null; |
| 37 var browserProxy = null; | 37 var browserProxy = null; |
| 38 | 38 |
| 39 setup(function() { | 39 setup(function() { |
| 40 browserProxy = new TestManageProfileBrowserProxy(); | 40 browserProxy = new TestManageProfileBrowserProxy(); |
| 41 settings.ManageProfileBrowserProxyImpl.instance_ = browserProxy; | 41 settings.ManageProfileBrowserProxyImpl.instance_ = browserProxy; |
| 42 PolymerTest.clearBody(); | 42 PolymerTest.clearBody(); |
| 43 manageProfile = document.createElement('settings-manage-profile'); | 43 manageProfile = document.createElement('settings-manage-profile'); |
| 44 manageProfile.profileIconUrl = 'fake-icon-1.png'; | 44 manageProfile.profileIconUrl = 'fake-icon-1.png'; |
| 45 manageProfile.profileName = 'Initial Fake Name'; | 45 manageProfile.profileName = 'Initial Fake Name'; |
| 46 manageProfile.syncStatus = {supervisedUser: false, childUser: false}; |
| 46 document.body.appendChild(manageProfile); | 47 document.body.appendChild(manageProfile); |
| 47 }); | 48 }); |
| 48 | 49 |
| 49 teardown(function() { manageProfile.remove(); }); | 50 teardown(function() { manageProfile.remove(); }); |
| 50 | 51 |
| 51 // Tests that the manage profile subpage | 52 // Tests that the manage profile subpage |
| 52 // - gets and receives all the available icons | 53 // - gets and receives all the available icons |
| 53 // - has the correct icon selected | 54 // - has the correct icon selected |
| 54 // - can select a new icon | 55 // - can select a new icon |
| 55 test('ManageProfileChangeIcon', function() { | 56 test('ManageProfileChangeIcon', function() { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 86 assertEquals('fake-icon-2.png', manageProfile.profileIconUrl); | 87 assertEquals('fake-icon-2.png', manageProfile.profileIconUrl); |
| 87 assertEquals(2, selector.items.length); | 88 assertEquals(2, selector.items.length); |
| 88 assertFalse(selector.items[0].classList.contains('iron-selected')); | 89 assertFalse(selector.items[0].classList.contains('iron-selected')); |
| 89 assertTrue(selector.items[1].classList.contains('iron-selected')); | 90 assertTrue(selector.items[1].classList.contains('iron-selected')); |
| 90 }); | 91 }); |
| 91 }); | 92 }); |
| 92 | 93 |
| 93 test('ManageProfileChangeName', function() { | 94 test('ManageProfileChangeName', function() { |
| 94 var nameField = manageProfile.$.name; | 95 var nameField = manageProfile.$.name; |
| 95 assertTrue(!!nameField); | 96 assertTrue(!!nameField); |
| 97 assertFalse(!!nameField.disabled); |
| 96 | 98 |
| 97 assertEquals('Initial Fake Name', nameField.value); | 99 assertEquals('Initial Fake Name', nameField.value); |
| 98 | 100 |
| 99 nameField.value = 'New Name'; | 101 nameField.value = 'New Name'; |
| 100 nameField.fire('change'); | 102 nameField.fire('change'); |
| 101 | 103 |
| 102 return browserProxy.whenCalled('setProfileIconAndName').then( | 104 return browserProxy.whenCalled('setProfileIconAndName').then( |
| 103 function(args) { | 105 function(args) { |
| 104 assertEquals('fake-icon-1.png', args[0]); | 106 assertEquals('fake-icon-1.png', args[0]); |
| 105 assertEquals('New Name', args[1]); | 107 assertEquals('New Name', args[1]); |
| 106 }); | 108 }); |
| 107 }); | 109 }); |
| 108 | 110 |
| 111 test('ProfileNameIsDisabledForSupervisedUser', function() { |
| 112 manageProfile.syncStatus = {supervisedUser: true, childUser: false}; |
| 113 |
| 114 var nameField = manageProfile.$.name; |
| 115 assertTrue(!!nameField); |
| 116 |
| 117 // Name field should be disabled for legacy supervised users. |
| 118 assertTrue(!!nameField.disabled); |
| 119 }); |
| 120 |
| 109 // Tests profile name updates pushed from the browser. | 121 // Tests profile name updates pushed from the browser. |
| 110 test('ManageProfileNameUpdated', function() { | 122 test('ManageProfileNameUpdated', function() { |
| 111 var nameField = manageProfile.$.name; | 123 var nameField = manageProfile.$.name; |
| 112 assertTrue(!!nameField); | 124 assertTrue(!!nameField); |
| 113 | 125 |
| 114 return browserProxy.whenCalled('getAvailableIcons').then(function() { | 126 return browserProxy.whenCalled('getAvailableIcons').then(function() { |
| 115 manageProfile.profileName = 'New Name From Browser'; | 127 manageProfile.profileName = 'New Name From Browser'; |
| 116 | 128 |
| 117 Polymer.dom.flush(); | 129 Polymer.dom.flush(); |
| 118 | 130 |
| 119 assertEquals('New Name From Browser', nameField.value); | 131 assertEquals('New Name From Browser', nameField.value); |
| 120 }); | 132 }); |
| 121 }); | 133 }); |
| 122 }); | 134 }); |
| 123 } | 135 } |
| 124 | 136 |
| 125 return { | 137 return { |
| 126 registerTests: function() { | 138 registerTests: function() { |
| 127 registerManageProfileTests(); | 139 registerManageProfileTests(); |
| 128 }, | 140 }, |
| 129 }; | 141 }; |
| 130 }); | 142 }); |
| OLD | NEW |