| Index: chrome/browser/ui/sync/one_click_signin_helper_unittest.cc
|
| diff --git a/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc b/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc
|
| index 4892ab65bc936eb55aaff11a00b598eaf9942782..5cf366e00a4dcf6d29a1856302add799e3452b8f 100644
|
| --- a/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc
|
| +++ b/chrome/browser/ui/sync/one_click_signin_helper_unittest.cc
|
| @@ -216,6 +216,7 @@ class OneClickSigninHelperTest : public content::RenderViewHostTestHarness {
|
| void SetAllowedUsernamePattern(const std::string& pattern);
|
| ProfileSyncServiceMock* CreateProfileSyncServiceMock();
|
| void SubmitGAIAPassword(OneClickSigninHelper* helper);
|
| + OneClickSigninHelper* SetupHelperForSignin();
|
|
|
| SigninManagerMock* signin_manager_;
|
|
|
| @@ -273,6 +274,35 @@ void OneClickSigninHelperTest::CreateSigninManager(
|
| }
|
| }
|
|
|
| +OneClickSigninHelper* OneClickSigninHelperTest::SetupHelperForSignin() {
|
| + CreateSigninManager(false, "");
|
| + EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
|
| + WillRepeatedly(Return(true));
|
| +
|
| + CreateProfileSyncServiceMock();
|
| +
|
| + content::WebContents* contents = web_contents();
|
| +
|
| + OneClickSigninHelper::CreateForWebContents(contents);
|
| + OneClickSigninHelper* helper =
|
| + OneClickSigninHelper::FromWebContents(contents);
|
| +
|
| + GURL continueUrl(
|
| + "https://www.google.com/intl/en-US/chrome/blank.html?source=1");
|
| + OneClickSigninHelper::ShowInfoBarUIThread(
|
| + "session_index", "user@gmail.com",
|
| + OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT,
|
| + SyncPromoUI::SOURCE_NTP_LINK,
|
| + continueUrl, process()->GetID(), rvh()->GetRoutingID());
|
| +
|
| + SubmitGAIAPassword(helper);
|
| +
|
| + NavigateAndCommit(continueUrl);
|
| + helper->DidStopLoading(rvh());
|
| + helper->OnStateChanged();
|
| + return helper;
|
| +}
|
| +
|
| void OneClickSigninHelperTest::EnableOneClick(bool enable) {
|
| PrefService* pref_service = Profile::FromBrowserContext(
|
| browser_context_.get())->GetPrefs();
|
| @@ -698,35 +728,33 @@ TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) {
|
| }
|
|
|
| TEST_F(OneClickSigninHelperTest, ShowSigninBubbleAfterSigninComplete) {
|
| - CreateSigninManager(false, std::string());
|
| - EXPECT_CALL(*signin_manager_, IsAllowedUsername(_))
|
| - .WillRepeatedly(Return(true));
|
| -
|
| - CreateProfileSyncServiceMock();
|
| -
|
| - content::WebContents* contents = web_contents();
|
| + OneClickSigninHelper* helper = SetupHelperForSignin();
|
| + PrefService* pref_service = profile_->GetPrefs();
|
| + EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), false);
|
| + helper->SigninSuccess();
|
| + EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), true);
|
| +}
|
|
|
| - OneClickSigninHelper::CreateForWebContents(contents);
|
| - OneClickSigninHelper* helper =
|
| - OneClickSigninHelper::FromWebContents(contents);
|
| +TEST_F(OneClickSigninHelperTest, SigninCancelled) {
|
| + OneClickSigninHelper* helper = SetupHelperForSignin();
|
|
|
| - GURL continueUrl(
|
| - "https://www.google.com/intl/en-US/chrome/blank.html?source=1");
|
| - OneClickSigninHelper::ShowInfoBarUIThread(
|
| - "session_index", "user@gmail.com",
|
| - OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT,
|
| - SyncPromoUI::SOURCE_NTP_LINK,
|
| - continueUrl, process()->GetID(), rvh()->GetRoutingID());
|
| -
|
| - SubmitGAIAPassword(helper);
|
| + PrefService* pref_service = profile_->GetPrefs();
|
| + EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), false);
|
| + GoogleServiceAuthError error(GoogleServiceAuthError::REQUEST_CANCELED);
|
| + helper->SigninFailed(error);
|
| + // Should not show the NTP bubble on user cancellation.
|
| + EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), false);
|
| +}
|
|
|
| - NavigateAndCommit(continueUrl);
|
| - helper->DidStopLoading(rvh());
|
| - helper->OnStateChanged();
|
| +TEST_F(OneClickSigninHelperTest, SigninFailed) {
|
| + OneClickSigninHelper* helper = SetupHelperForSignin();
|
|
|
| PrefService* pref_service = profile_->GetPrefs();
|
| EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), false);
|
| - helper->SigninSuccess();
|
| + GoogleServiceAuthError error(
|
| + GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS);
|
| + helper->SigninFailed(error);
|
| + // Should show the NTP bubble with an error.
|
| EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), true);
|
| }
|
|
|
|
|