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

Side by Side Diff: chrome/browser/resources/google_now/background_unittest.gtestjs

Issue 162273002: Convert Google Now's Authentication Manager to use Promises (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merging in https://codereview.chromium.org/174053003/ Created 6 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 | 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 // TODO(robliao,vadimt): Determine the granularity of testing to perform. 5 // TODO(robliao,vadimt): Determine the granularity of testing to perform.
6 6
7 /** 7 /**
8 * Test fixture for background.js. 8 * Test fixture for background.js.
9 * @constructor 9 * @constructor
10 * @extends {testing.Test} 10 * @extends {testing.Test}
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 ]); 63 ]);
64 fixture.makeAndRegisterMockApis([ 64 fixture.makeAndRegisterMockApis([
65 'authenticationManager.isSignedIn', 65 'authenticationManager.isSignedIn',
66 'chrome.location.clearWatch', 66 'chrome.location.clearWatch',
67 'chrome.storage.local.remove', 67 'chrome.storage.local.remove',
68 'instrumented.metricsPrivate.getVariationParams', 68 'instrumented.metricsPrivate.getVariationParams',
69 'instrumented.notifications.getAll', 69 'instrumented.notifications.getAll',
70 'instrumented.notifications.getPermissionLevel', 70 'instrumented.notifications.getPermissionLevel',
71 'instrumented.preferencesPrivate.googleGeolocationAccessEnabled.get', 71 'instrumented.preferencesPrivate.googleGeolocationAccessEnabled.get',
72 'instrumented.storage.local.get', 72 'instrumented.storage.local.get',
73 'instrumented.webstorePrivate.getBrowserLogin',
73 'tasks.add', 74 'tasks.add',
74 'updateCardsAttempts.isRunning', 75 'updateCardsAttempts.isRunning',
75 'updateCardsAttempts.stop' 76 'updateCardsAttempts.stop'
76 ]); 77 ]);
77 } 78 }
78 79
79 /** 80 /**
80 * Sets up the test to expect the state machine calls and send 81 * Sets up the test to expect the state machine calls and send
81 * the specified state machine state. Currently used to test initialize(). 82 * the specified state machine state. Currently used to test initialize().
82 * Note that this CAN NOT be used if any of the methods below are called 83 * Note that this CAN NOT be used if any of the methods below are called
83 * outside of this context with the same argument matchers. 84 * outside of this context with the same argument matchers.
84 * expects() calls cannot be chained with the same argument matchers. 85 * expects() calls cannot be chained with the same argument matchers.
85 * @param {object} fixture Test fixture. 86 * @param {object} fixture Test fixture.
86 * @param {string} testIdentityToken getAuthToken callback token. 87 * @param {string} testIdentityToken getAuthToken callback token.
87 * @param {boolean} testGeolocationPref Geolocation Preference callback value. 88 * @param {boolean} testGeolocationPref Geolocation Preference callback value.
88 * @param {object} testExperimentVariationParams Response of 89 * @param {object} testExperimentVariationParams Response of
89 * metricsPrivate.getVariationParams. 90 * metricsPrivate.getVariationParams.
90 * @param {string} testExperimentVariationParams Response of 91 * @param {string} testExperimentVariationParams Response of
91 * notifications.getPermissionLevel. 92 * notifications.getPermissionLevel.
92 * @param {boolean} testGoogleNowEnabled True if the user is opted in to Google 93 * @param {boolean} testGoogleNowEnabled True if the user is opted in to Google
93 * Now. 94 * Now.
94 */ 95 */
95 function expectStateMachineCalls( 96 function expectStateMachineCalls(
96 fixture, 97 fixture,
97 testIdentityToken, 98 testIdentityToken,
98 testGeolocationPref, 99 testGeolocationPref,
99 testExperimentVariationParams, 100 testExperimentVariationParams,
100 testNotificationPermissionLevel, 101 testNotificationPermissionLevel,
101 testGoogleNowEnabled) { 102 testGoogleNowEnabled) {
102 var authenticationManagerIsSignedInSavedArgs = new SaveMockArguments();
103 fixture.mockApis.expects(once()). 103 fixture.mockApis.expects(once()).
104 authenticationManager_isSignedIn( 104 authenticationManager_isSignedIn().
105 authenticationManagerIsSignedInSavedArgs.match(ANYTHING)). 105 will(returnValue(new Promise(function(resolve) {
106 will(invokeCallback( 106 resolve(!!testIdentityToken);
107 authenticationManagerIsSignedInSavedArgs, 107 })));
108 0,
109 testIdentityToken));
110 108
111 var getVariationParamsSavedArgs = new SaveMockArguments(); 109 var getVariationParamsSavedArgs = new SaveMockArguments();
112 fixture.mockApis.expects(once()). 110 fixture.mockApis.expects(once()).
113 instrumented_metricsPrivate_getVariationParams( 111 instrumented_metricsPrivate_getVariationParams(
114 getVariationParamsSavedArgs.match(ANYTHING), 112 getVariationParamsSavedArgs.match(ANYTHING),
115 getVariationParamsSavedArgs.match(ANYTHING)). 113 getVariationParamsSavedArgs.match(ANYTHING)).
116 will(invokeCallback( 114 will(invokeCallback(
117 getVariationParamsSavedArgs, 1, testExperimentVariationParams)); 115 getVariationParamsSavedArgs, 1, testExperimentVariationParams));
118 116
119 var googleGeolocationPrefGetSavedArgs = new SaveMockArguments(); 117 var googleGeolocationPrefGetSavedArgs = new SaveMockArguments();
120 fixture.mockApis.expects(once()). 118 fixture.mockApis.expects(once()).
121 instrumented_preferencesPrivate_googleGeolocationAccessEnabled_get( 119 instrumented_preferencesPrivate_googleGeolocationAccessEnabled_get(
122 googleGeolocationPrefGetSavedArgs.match(eqJSON({})), 120 googleGeolocationPrefGetSavedArgs.match(eqJSON({})),
123 googleGeolocationPrefGetSavedArgs.match(ANYTHING)). 121 googleGeolocationPrefGetSavedArgs.match(ANYTHING)).
124 will(invokeCallback( 122 will(invokeCallback(
125 googleGeolocationPrefGetSavedArgs, 1, {value: testGeolocationPref})); 123 googleGeolocationPrefGetSavedArgs, 1, {value: testGeolocationPref}));
126 124
127 var notificationGetPermissionLevelSavedArgs = new SaveMockArguments(); 125 var notificationGetPermissionLevelSavedArgs = new SaveMockArguments();
128 fixture.mockApis.expects(once()). 126 fixture.mockApis.expects(once()).
129 instrumented_notifications_getPermissionLevel( 127 instrumented_notifications_getPermissionLevel(
130 notificationGetPermissionLevelSavedArgs.match(ANYTHING)). 128 notificationGetPermissionLevelSavedArgs.match(ANYTHING)).
131 will(invokeCallback( 129 will(invokeCallback(
132 notificationGetPermissionLevelSavedArgs, 130 notificationGetPermissionLevelSavedArgs,
133 0, 131 0,
134 testNotificationPermissionLevel)) 132 testNotificationPermissionLevel))
135 133
136 var storageGetSavedArgs = new SaveMockArguments();» 134 var storageGetSavedArgs = new SaveMockArguments();
137 fixture.mockApis.expects(once()).» 135 fixture.mockApis.expects(once()).
138 instrumented_storage_local_get(» 136 instrumented_storage_local_get(
139 storageGetSavedArgs.match(eq('googleNowEnabled')),» 137 storageGetSavedArgs.match(eq('googleNowEnabled')),
140 storageGetSavedArgs.match(ANYTHING)).» 138 storageGetSavedArgs.match(ANYTHING)).
141 will(invokeCallback( 139 will(invokeCallback(
142 storageGetSavedArgs, 1, {googleNowEnabled: testGoogleNowEnabled}));» 140 storageGetSavedArgs, 1, {googleNowEnabled: testGoogleNowEnabled}));
143 141
144 fixture.mockGlobals.expects(once()). 142 fixture.mockGlobals.expects(once()).
145 setBackgroundEnable(ANYTHING); 143 setBackgroundEnable(ANYTHING);
146 } 144 }
147 145
148 /** 146 /**
149 * Sets up the test to expect the initialization calls that 147 * Sets up the test to expect the initialization calls that
150 * initialize() invokes. 148 * initialize() invokes.
151 * Note that this CAN NOT be used if any of the methods below are called 149 * Note that this CAN NOT be used if any of the methods below are called
152 * outside of this context with the same argument matchers. 150 * outside of this context with the same argument matchers.
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 receivedNotificationWithShowTime 588 receivedNotificationWithShowTime
591 ] 589 ]
592 }; 590 };
593 591
594 // Invoking the tested function. 592 // Invoking the tested function.
595 combineGroup(combinedCards, storedGroup); 593 combineGroup(combinedCards, storedGroup);
596 594
597 // Check the output value. 595 // Check the output value.
598 var expectedCombinedCards = { 596 var expectedCombinedCards = {
599 'EXISTING CARD': [ 597 'EXISTING CARD': [
600 1, 598 1,
601 { 599 {
602 receivedNotification: receivedNotificationNoShowTime, 600 receivedNotification: receivedNotificationNoShowTime,
603 hideTime: 11000 601 hideTime: 11000
604 } 602 }
605 ], 603 ],
606 'NEW CARD': [ 604 'NEW CARD': [
607 { 605 {
608 receivedNotification: receivedNotificationWithShowTime, 606 receivedNotification: receivedNotificationWithShowTime,
609 showTime: 12000, 607 showTime: 12000,
610 hideTime: 13000 608 hideTime: 13000
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 eqJSON({ 887 eqJSON({
890 notificationGroups: expectedUpdatedGroups, 888 notificationGroups: expectedUpdatedGroups,
891 recentDismissals: {}})); 889 recentDismissals: {}}));
892 890
893 this.mockGlobals.expects(once()). 891 this.mockGlobals.expects(once()).
894 recordEvent(GoogleNowEvent.CARDS_PARSE_SUCCESS); 892 recordEvent(GoogleNowEvent.CARDS_PARSE_SUCCESS);
895 893
896 // Invoking the tested function. 894 // Invoking the tested function.
897 processServerResponse(serverResponse, fakeOnCardShownFunction); 895 processServerResponse(serverResponse, fakeOnCardShownFunction);
898 }); 896 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/google_now/background.js ('k') | chrome/browser/resources/google_now/common_test_util.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698