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

Side by Side Diff: chrome/test/data/webui/settings/reset_page_test.js

Issue 2676643005: MD Settings: Fix reset_page_test.js in Vulcanized mode (Closed)
Patch Set: Un-unwrap Created 3 years, 10 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_reset_page', function() { 5 cr.define('settings_reset_page', function() {
6 /** @enum {string} */ 6 /** @enum {string} */
7 var TestNames = { 7 var TestNames = {
8 PowerwashDialogAction: 'PowerwashDialogAction', 8 PowerwashDialogAction: 'PowerwashDialogAction',
9 PowerwashDialogOpenClose: 'PowerwashDialogOpenClose', 9 PowerwashDialogOpenClose: 'PowerwashDialogOpenClose',
10 ResetBannerClose: 'ResetBannerClose',
11 ResetBannerReset: 'ResetBannerReset',
12 ResetProfileDialogAction: 'ResetProfileDialogAction', 10 ResetProfileDialogAction: 'ResetProfileDialogAction',
13 ResetProfileDialogOpenClose: 'ResetProfileDialogOpenClose', 11 ResetProfileDialogOpenClose: 'ResetProfileDialogOpenClose',
14 ResetProfileDialogOriginUnknown: 'ResetProfileDialogOriginUnknown', 12 ResetProfileDialogOriginUnknown: 'ResetProfileDialogOriginUnknown',
15 ResetProfileDialogOriginUserClick: 'ResetProfileDialogOriginUserClick', 13 ResetProfileDialogOriginUserClick: 'ResetProfileDialogOriginUserClick',
16 ResetProfileDialogOriginTriggeredReset: 14 ResetProfileDialogOriginTriggeredReset:
17 'ResetProfileDialogOriginTriggeredReset', 15 'ResetProfileDialogOriginTriggeredReset',
18 }; 16 };
19 17
20 /**
21 * @constructor
22 * @implements {settings.ResetBrowserProxy}
23 * @extends {settings.TestBrowserProxy}
24 */
25 var TestResetBrowserProxy = function() {
26 settings.TestBrowserProxy.call(this, [
27 'performResetProfileSettings',
28 'onHideResetProfileDialog',
29 'onHideResetProfileBanner',
30 'onShowResetProfileDialog',
31 'showReportedSettings',
32 'getTriggeredResetToolName',
33 'onPowerwashDialogShow',
34 ]);
35 };
36
37 TestResetBrowserProxy.prototype = {
38 __proto__: settings.TestBrowserProxy.prototype,
39
40 /** @override */
41 performResetProfileSettings: function(sendSettings, requestOrigin) {
42 this.methodCalled('performResetProfileSettings', requestOrigin);
43 return Promise.resolve();
44 },
45
46 /** @override */
47 onHideResetProfileDialog: function() {
48 this.methodCalled('onHideResetProfileDialog');
49 },
50
51 /** @override */
52 onHideResetProfileBanner: function() {
53 this.methodCalled('onHideResetProfileBanner');
54 },
55
56 /** @override */
57 onShowResetProfileDialog: function() {
58 this.methodCalled('onShowResetProfileDialog');
59 },
60
61 /** @override */
62 showReportedSettings: function() {
63 this.methodCalled('showReportedSettings');
64 },
65
66 /** @override */
67 getTriggeredResetToolName: function() {
68 this.methodCalled('getTriggeredResetToolName');
69 return Promise.resolve('WonderfulAV');
70 },
71
72 /** @override */
73 onPowerwashDialogShow: function() {
74 this.methodCalled('onPowerwashDialogShow');
75 },
76 };
77
78 function registerBannerTests() {
79 suite('BannerTests', function() {
80 var resetBanner = null;
81 var browserProxy = null;
82
83 suiteSetup(function() {
84 return PolymerTest.importHtml(
85 'chrome://md-settings/reset_page/reset_profile_banner.html');
86 });
87
88 setup(function() {
89 browserProxy = new TestResetBrowserProxy();
90 settings.ResetBrowserProxyImpl.instance_ = browserProxy;
91 PolymerTest.clearBody();
92 resetBanner = document.createElement('settings-reset-profile-banner');
93 document.body.appendChild(resetBanner);
94 });
95
96 teardown(function() { resetBanner.remove(); });
97
98 // Tests that the reset profile banner
99 // - opens the reset profile dialog when the reset button is clicked.
100 // - reset happens when clicking on the dialog's reset button.
101 // - the reset profile dialog is closed after reset is done.
102 test(TestNames.ResetBannerReset, function() {
103 var dialog = resetBanner.$$('settings-reset-profile-dialog');
104 assertFalse(!!dialog);
105 MockInteractions.tap(resetBanner.$.reset);
106 Polymer.dom.flush();
107 assertTrue(resetBanner.showResetProfileDialog_)
108 dialog = resetBanner.$$('settings-reset-profile-dialog');
109 assertTrue(!!dialog);
110
111 MockInteractions.tap(dialog.$.reset);
112
113 return browserProxy.whenCalled('performResetProfileSettings')
114 .then(PolymerTest.flushTasks)
115 .then(function() {
116 assertFalse(resetBanner.showResetProfileDialog_);
117 dialog = resetBanner.$$('settings-reset-profile-dialog');
118 assertFalse(!!dialog);
119 });
120 });
121
122 // Tests that the reset profile banner removes itself from the DOM when
123 // the close button is clicked and that |onHideResetProfileBanner| is
124 // called.
125 test(TestNames.ResetBannerClose, function() {
126 MockInteractions.tap(resetBanner.$.close);
127 assertFalse(!!resetBanner.parentNode);
128 return browserProxy.whenCalled('onHideResetProfileBanner');
129 });
130 });
131 }
132
133 function registerDialogTests() { 18 function registerDialogTests() {
134 suite('DialogTests', function() { 19 suite('DialogTests', function() {
135 var resetPage = null; 20 var resetPage = null;
136 21
137 /** @type {!settings.ResetPageBrowserProxy} */ 22 /** @type {!settings.ResetPageBrowserProxy} */
138 var resetPageBrowserProxy = null; 23 var resetPageBrowserProxy = null;
139 24
140 /** @type {!settings.LifetimeBrowserProxy} */ 25 /** @type {!settings.LifetimeBrowserProxy} */
141 var lifetimeBrowserProxy = null; 26 var lifetimeBrowserProxy = null;
142 27
143 setup(function() { 28 setup(function() {
144 if (cr.isChromeOS) { 29 if (cr.isChromeOS) {
145 lifetimeBrowserProxy = new settings.TestLifetimeBrowserProxy(); 30 lifetimeBrowserProxy = new settings.TestLifetimeBrowserProxy();
146 settings.LifetimeBrowserProxyImpl.instance_ = lifetimeBrowserProxy; 31 settings.LifetimeBrowserProxyImpl.instance_ = lifetimeBrowserProxy;
147 } 32 }
148 33
149 resetPageBrowserProxy = new TestResetBrowserProxy(); 34 resetPageBrowserProxy = new reset_page.TestResetBrowserProxy();
150 settings.ResetBrowserProxyImpl.instance_ = resetPageBrowserProxy; 35 settings.ResetBrowserProxyImpl.instance_ = resetPageBrowserProxy;
151 36
152 PolymerTest.clearBody(); 37 PolymerTest.clearBody();
153 resetPage = document.createElement('settings-reset-page'); 38 resetPage = document.createElement('settings-reset-page');
154 document.body.appendChild(resetPage); 39 document.body.appendChild(resetPage);
155 }); 40 });
156 41
157 teardown(function() { resetPage.remove(); }); 42 teardown(function() { resetPage.remove(); });
158 43
159 /** 44 /**
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 Polymer.dom.flush(); 197 Polymer.dom.flush();
313 var dialog = resetPage.$$('settings-powerwash-dialog'); 198 var dialog = resetPage.$$('settings-powerwash-dialog');
314 assertTrue(!!dialog); 199 assertTrue(!!dialog);
315 MockInteractions.tap(dialog.$.powerwash); 200 MockInteractions.tap(dialog.$.powerwash);
316 return lifetimeBrowserProxy.whenCalled('factoryReset'); 201 return lifetimeBrowserProxy.whenCalled('factoryReset');
317 }); 202 });
318 } 203 }
319 }); 204 });
320 } 205 }
321 206
322 return { 207 registerDialogTests();
323 registerTests: function() {
324 registerBannerTests();
325 registerDialogTests();
326 },
327 };
328 }); 208 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698