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

Unified Diff: chrome/test/data/webui/settings/people_page_test.js

Issue 2498013003: MD Settings: Suppress the signout dialog if user is not signed in. (Closed)
Patch Set: solve flakiness Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/settings/people_page/people_page.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/settings/people_page_test.js
diff --git a/chrome/test/data/webui/settings/people_page_test.js b/chrome/test/data/webui/settings/people_page_test.js
index 748bb6990f2d4859cfa148631f2a8457f40ff389..d36a07cb1c7d55876f1c5c98985430bea6313cac 100644
--- a/chrome/test/data/webui/settings/people_page_test.js
+++ b/chrome/test/data/webui/settings/people_page_test.js
@@ -171,17 +171,13 @@ cr.define('settings_people_page', function() {
assertTrue(!!disconnectConfirm);
assertFalse(disconnectConfirm.hidden);
- // Wait for exit of dialog route.
- var dialogExitPromise = new Promise(function(resolve) {
- window.addEventListener('popstate', function callback() {
- window.removeEventListener('popstate', callback);
- resolve();
- });
+ var popstatePromise = new Promise(function(resolve) {
+ listenOnce(window, 'popstate', resolve);
});
MockInteractions.tap(disconnectConfirm);
- return dialogExitPromise;
+ return popstatePromise;
}).then(function() {
return browserProxy.whenCalled('signOut');
}).then(function(deleteProfile) {
@@ -206,14 +202,50 @@ cr.define('settings_people_page', function() {
assertFalse(disconnectManagedProfileConfirm.hidden);
browserProxy.resetResolver('signOut');
+
+ var popstatePromise = new Promise(function(resolve) {
+ listenOnce(window, 'popstate', resolve);
+ });
+
MockInteractions.tap(disconnectManagedProfileConfirm);
+ return popstatePromise;
+ }).then(function() {
return browserProxy.whenCalled('signOut');
}).then(function(deleteProfile) {
assertTrue(deleteProfile);
});
});
+ test('Signout dialog suppressed when not signed in', function() {
+ return browserProxy.whenCalled('getSyncStatus').then(function() {
+ Polymer.dom.flush();
+
+ settings.navigateTo(settings.Route.SIGN_OUT);
+ Polymer.dom.flush();
+
+ assertTrue(peoplePage.$.disconnectDialog.open);
+
+ var popstatePromise = new Promise(function(resolve) {
+ listenOnce(window, 'popstate', resolve);
+ });
+
+ cr.webUIListenerCallback('sync-status-changed', {
+ signedIn: false,
+ });
+
+ return popstatePromise;
+ }).then(function() {
+ var popstatePromise = new Promise(function(resolve) {
+ listenOnce(window, 'popstate', resolve);
+ });
+
+ settings.navigateTo(settings.Route.SIGN_OUT);
+
+ return popstatePromise;
+ });
+ });
+
test('ActivityControlsLink', function() {
return browserProxy.whenCalled('getSyncStatus').then(function() {
Polymer.dom.flush();
« no previous file with comments | « chrome/browser/resources/settings/people_page/people_page.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698