Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_browsertest.js

Issue 15966004: cros: Move kiosk settings to extensions page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix space Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 /** 5 /**
6 * TestFixture for kiosk app settings WebUI testing. 6 * TestFixture for kiosk app settings WebUI testing.
7 * @extends {testing.Test} 7 * @extends {testing.Test}
8 * @constructor 8 * @constructor
9 **/ 9 **/
10 function KioskAppSettingsWebUITest() {} 10 function KioskAppSettingsWebUITest() {}
11 11
12 KioskAppSettingsWebUITest.prototype = { 12 KioskAppSettingsWebUITest.prototype = {
13 __proto__: testing.Test.prototype, 13 __proto__: testing.Test.prototype,
14 14
15 /** 15 /**
16 * Browse to the kiosk app settings page. 16 * Browse to the kiosk app settings page.
17 */ 17 */
18 browsePreload: 'chrome://settings-frame/kioskAppsOverlay', 18 browsePreload: 'chrome://extensions-frame/',
19 19
20 /** 20 /**
21 * Mock apps data. 21 * Mock settings data.
22 * @private
22 */ 23 */
23 apps_: [ 24 settings_: {
24 { 25 apps: [
25 id: 'app_1', 26 {
26 name: 'App1 Name', 27 id: 'app_1',
27 iconURL: '', 28 name: 'App1 Name',
28 autoLaunch: false, 29 iconURL: '',
29 isLoading: false, 30 autoLaunch: false,
30 }, 31 isLoading: false,
31 { 32 },
32 id: 'app_2', 33 {
33 name: '', // no name 34 id: 'app_2',
34 iconURL: '', 35 name: '', // no name
35 autoLaunch: false, 36 iconURL: '',
36 isLoading: true, 37 autoLaunch: false,
37 }, 38 isLoading: true,
38 ], 39 },
40 ],
41 disableBailout: false
42 },
39 43
40 /** 44 /**
41 * Register a mock dictionary handler. 45 * Register a mock dictionary handler.
42 */ 46 */
43 preLoad: function() { 47 preLoad: function() {
44 this.makeAndRegisterMockHandler( 48 this.makeAndRegisterMockHandler(
45 ['getKioskApps', 49 ['getKioskAppSettings',
46 'addKioskApp', 50 'addKioskApp',
47 'removeKioskApp', 51 'removeKioskApp',
48 'enableKioskAutoLaunch', 52 'enableKioskAutoLaunch',
49 'disableKioskAutoLaunch' 53 'disableKioskAutoLaunch'
50 ]); 54 ]);
51 this.mockHandler.stubs().getKioskApps(). 55 this.mockHandler.stubs().getKioskAppSettings().
52 will(callFunction(function() { 56 will(callFunction(function() {
53 KioskAppsOverlay.setApps(this.apps_); 57 extensions.KioskAppsOverlay.setSettings(this.settings_);
54 }.bind(this))); 58 }.bind(this)));
55 this.mockHandler.stubs().addKioskApp(ANYTHING); 59 this.mockHandler.stubs().addKioskApp(ANYTHING);
56 this.mockHandler.stubs().removeKioskApp(ANYTHING); 60 this.mockHandler.stubs().removeKioskApp(ANYTHING);
57 this.mockHandler.stubs().enableKioskAutoLaunch(ANYTHING); 61 this.mockHandler.stubs().enableKioskAutoLaunch(ANYTHING);
58 this.mockHandler.stubs().disableKioskAutoLaunch(ANYTHING); 62 this.mockHandler.stubs().disableKioskAutoLaunch(ANYTHING);
63 },
64
65 setUp: function() {
66 // Shows the kiosk apps management overlay.
67 cr.dispatchSimpleEvent($('add-kiosk-app'), 'click');
59 } 68 }
60 }; 69 };
61 70
62 // Test opening kiosk app settings has correct location and app items have 71 // Test opening kiosk app settings has correct location and app items have
63 // correct label. 72 // correct label.
64 TEST_F('KioskAppSettingsWebUITest', 'testOpenKioskAppSettings', function() { 73 TEST_F('KioskAppSettingsWebUITest', 'testOpenKioskAppSettings', function() {
65 assertEquals(this.browsePreload, document.location.href); 74 assertEquals(this.browsePreload, document.location.href);
66 75
67 var appItems = $('kiosk-app-list').items; 76 var appItems = $('kiosk-app-list').items;
68 assertEquals(this.apps_.length, appItems.length); 77 assertEquals(this.settings_.apps.length, appItems.length);
69 assertEquals(this.apps_[0].name, appItems[0].name.textContent); 78 assertEquals(this.settings_.apps[0].name, appItems[0].name.textContent);
70 assertFalse(appItems[0].icon.classList.contains('spinner')); 79 assertFalse(appItems[0].icon.classList.contains('spinner'));
71 assertEquals(this.apps_[1].id, appItems[1].name.textContent); 80 assertEquals(this.settings_.apps[1].id, appItems[1].name.textContent);
72 assertTrue(appItems[1].icon.classList.contains('spinner')); 81 assertTrue(appItems[1].icon.classList.contains('spinner'));
73 }); 82 });
74 83
75 // Verify that enter key on 'kiosk-app-id-edit' adds an app. 84 // Verify that enter key on 'kiosk-app-id-edit' adds an app.
76 TEST_F('KioskAppSettingsWebUITest', 'testAddKioskApp', function() { 85 TEST_F('KioskAppSettingsWebUITest', 'testAddKioskApp', function() {
77 var testAppId = 'app_3'; 86 var testAppId = 'app_3';
78 var appIdInput = $('kiosk-app-id-edit'); 87 var appIdInput = $('kiosk-app-id-edit');
79 88
80 appIdInput.value = testAppId; 89 appIdInput.value = testAppId;
81 90
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 135
127 // New data changes name, autoLaunch and isLoading. 136 // New data changes name, autoLaunch and isLoading.
128 var newName = 'Name for App2'; 137 var newName = 'Name for App2';
129 var newApp2 = { 138 var newApp2 = {
130 id: 'app_2', 139 id: 'app_2',
131 name: newName, 140 name: newName,
132 iconURL: '', 141 iconURL: '',
133 autoLaunch: true, 142 autoLaunch: true,
134 isLoading: false, 143 isLoading: false,
135 }; 144 };
136 KioskAppsOverlay.updateApp(newApp2); 145 extensions.KioskAppsOverlay.updateApp(newApp2);
137 146
138 assertEquals('app_2', appItems[1].data.id); 147 assertEquals('app_2', appItems[1].data.id);
139 expectEquals(newName, appItems[1].data.name, newName); 148 expectEquals(newName, appItems[1].data.name, newName);
140 expectEquals(newName, appItems[1].name.textContent); 149 expectEquals(newName, appItems[1].name.textContent);
141 expectFalse(appItems[1].icon.classList.contains('spinner')); 150 expectFalse(appItems[1].icon.classList.contains('spinner'));
142 expectTrue(appItems[1].autoLaunch); 151 expectTrue(appItems[1].autoLaunch);
143 }); 152 });
144 153
145 // Verify that showError makes error banner visible. 154 // Verify that showError makes error banner visible.
146 TEST_F('KioskAppSettingsWebUITest', 'testShowError', function() { 155 TEST_F('KioskAppSettingsWebUITest', 'testShowError', function() {
147 KioskAppsOverlay.showError('A bad app'); 156 extensions.KioskAppsOverlay.showError('A bad app');
148 expectTrue($('kiosk-apps-error-banner').classList.contains('visible')); 157 expectTrue($('kiosk-apps-error-banner').classList.contains('visible'));
149 }); 158 });
150 159
151 // Verify that checking disable bailout checkbox brings up confirmation UI and 160 // Verify that checking disable bailout checkbox brings up confirmation UI and
152 // the check only remains when the confirmation UI is acknowledged. 161 // the check only remains when the confirmation UI is acknowledged.
153 TEST_F('KioskAppSettingsWebUITest', 'testCheckDisableBailout', function() { 162 TEST_F('KioskAppSettingsWebUITest', 'testCheckDisableBailout', function() {
154 var checkbox = $('kiosk-disable-bailout-shortcut'); 163 var checkbox = $('kiosk-disable-bailout-shortcut');
155 var confirmOverlay = KioskDisableBailoutConfirm.getInstance(); 164 var confirmOverlay = $('kiosk-disable-bailout-confirm-overlay');
156 expectFalse(confirmOverlay.visible); 165 expectFalse(confirmOverlay.classList.contains('showing'));
157 166
158 // Un-checking the box does not trigger confirmation. 167 // Un-checking the box does not trigger confirmation.
159 checkbox.checked = false; 168 checkbox.checked = false;
160 cr.dispatchSimpleEvent(checkbox, 'change'); 169 cr.dispatchSimpleEvent(checkbox, 'change');
161 expectFalse(confirmOverlay.visible); 170 expectFalse(confirmOverlay.classList.contains('showing'));
162 171
163 // Checking the box trigger confirmation. 172 // Checking the box trigger confirmation.
164 checkbox.checked = true; 173 checkbox.checked = true;
165 cr.dispatchSimpleEvent(checkbox, 'change'); 174 cr.dispatchSimpleEvent(checkbox, 'change');
166 expectTrue(confirmOverlay.visible); 175 expectTrue(confirmOverlay.classList.contains('showing'));
167 176
168 // Confirm it and the check remains. 177 // Confirm it and the check remains.
169 cr.dispatchSimpleEvent($('kiosk-disable-bailout-confirm-button'), 'click'); 178 cr.dispatchSimpleEvent($('kiosk-disable-bailout-confirm-button'), 'click');
170 expectTrue(checkbox.checked); 179 expectTrue(checkbox.checked);
171 expectFalse(confirmOverlay.visible); 180 expectFalse(confirmOverlay.classList.contains('showing'));
172 181
173 // And canceling resets the check. 182 // And canceling resets the check.
174 checkbox.checked = true; 183 checkbox.checked = true;
175 cr.dispatchSimpleEvent(checkbox, 'change'); 184 cr.dispatchSimpleEvent(checkbox, 'change');
176 expectTrue(confirmOverlay.visible); 185 expectTrue(confirmOverlay.classList.contains('showing'));
177 cr.dispatchSimpleEvent($('kiosk-disable-bailout-cancel-button'), 'click'); 186 cr.dispatchSimpleEvent($('kiosk-disable-bailout-cancel-button'), 'click');
178 expectFalse(checkbox.checked); 187 expectFalse(checkbox.checked);
179 expectFalse(confirmOverlay.visible); 188 expectFalse(confirmOverlay.classList.contains('showing'));
180 }); 189 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/options_bundle.js ('k') | chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698