| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 model()->OnBrandLinkClicked(); | 334 model()->OnBrandLinkClicked(); |
| 335 } | 335 } |
| 336 | 336 |
| 337 TEST_F(ManagePasswordsBubbleModelTest, SuppressSignInPromo) { | 337 TEST_F(ManagePasswordsBubbleModelTest, SuppressSignInPromo) { |
| 338 base::HistogramTester histogram_tester; | 338 base::HistogramTester histogram_tester; |
| 339 PretendPasswordWaiting(); | 339 PretendPasswordWaiting(); |
| 340 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); | 340 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); |
| 341 EXPECT_CALL(*controller(), SavePassword()); | 341 EXPECT_CALL(*controller(), SavePassword()); |
| 342 model()->OnSaveClicked(); | 342 model()->OnSaveClicked(); |
| 343 | 343 |
| 344 EXPECT_FALSE(model()->ReplaceToShowSignInPromoIfNeeded()); | 344 EXPECT_FALSE(model()->ReplaceToShowPromotionIfNeeded()); |
| 345 DestroyModel(); | 345 DestroyModel(); |
| 346 histogram_tester.ExpectTotalCount(kSignInPromoDismissalReasonMetric, 0); | 346 histogram_tester.ExpectTotalCount(kSignInPromoDismissalReasonMetric, 0); |
| 347 histogram_tester.ExpectTotalCount(kSignInPromoCountTilSignInMetric, 0); | 347 histogram_tester.ExpectTotalCount(kSignInPromoCountTilSignInMetric, 0); |
| 348 histogram_tester.ExpectTotalCount(kSignInPromoCountTilNoThanksMetric, 0); | 348 histogram_tester.ExpectTotalCount(kSignInPromoCountTilNoThanksMetric, 0); |
| 349 histogram_tester.ExpectTotalCount(kSignInPromoDismissalCountMetric, 0); | 349 histogram_tester.ExpectTotalCount(kSignInPromoDismissalCountMetric, 0); |
| 350 } | 350 } |
| 351 | 351 |
| 352 TEST_F(ManagePasswordsBubbleModelTest, SignInPromoOK) { | 352 TEST_F(ManagePasswordsBubbleModelTest, SignInPromoOK) { |
| 353 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 353 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
| 354 kChromeSignInPasswordPromoExperimentName, kFakeGroup)); | 354 kChromeSignInPasswordPromoExperimentName, kFakeGroup)); |
| 355 variations::AssociateVariationParams( | 355 variations::AssociateVariationParams( |
| 356 kChromeSignInPasswordPromoExperimentName, kFakeGroup, | 356 kChromeSignInPasswordPromoExperimentName, kFakeGroup, |
| 357 {{kChromeSignInPasswordPromoThresholdParam, "3"}}); | 357 {{kChromeSignInPasswordPromoThresholdParam, "3"}}); |
| 358 base::HistogramTester histogram_tester; | 358 base::HistogramTester histogram_tester; |
| 359 PretendPasswordWaiting(); | 359 PretendPasswordWaiting(); |
| 360 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); | 360 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); |
| 361 EXPECT_CALL(*controller(), SavePassword()); | 361 EXPECT_CALL(*controller(), SavePassword()); |
| 362 model()->OnSaveClicked(); | 362 model()->OnSaveClicked(); |
| 363 | 363 |
| 364 EXPECT_TRUE(model()->ReplaceToShowSignInPromoIfNeeded()); | 364 EXPECT_TRUE(model()->ReplaceToShowPromotionIfNeeded()); |
| 365 EXPECT_CALL(*controller(), NavigateToChromeSignIn()); | 365 EXPECT_CALL(*controller(), NavigateToChromeSignIn()); |
| 366 model()->OnSignInToChromeClicked(); | 366 model()->OnSignInToChromeClicked(); |
| 367 DestroyModel(); | 367 DestroyModel(); |
| 368 histogram_tester.ExpectUniqueSample( | 368 histogram_tester.ExpectUniqueSample( |
| 369 kUIDismissalReasonMetric, | 369 kUIDismissalReasonMetric, |
| 370 password_manager::metrics_util::CLICKED_SAVE, 1); | 370 password_manager::metrics_util::CLICKED_SAVE, 1); |
| 371 histogram_tester.ExpectUniqueSample( | 371 histogram_tester.ExpectUniqueSample( |
| 372 kSignInPromoDismissalReasonMetric, | 372 kSignInPromoDismissalReasonMetric, |
| 373 password_manager::metrics_util::CHROME_SIGNIN_OK, 1); | 373 password_manager::metrics_util::CHROME_SIGNIN_OK, 1); |
| 374 histogram_tester.ExpectUniqueSample(kSignInPromoCountTilSignInMetric, 1, 1); | 374 histogram_tester.ExpectUniqueSample(kSignInPromoCountTilSignInMetric, 1, 1); |
| 375 histogram_tester.ExpectTotalCount(kSignInPromoCountTilNoThanksMetric, 0); | 375 histogram_tester.ExpectTotalCount(kSignInPromoCountTilNoThanksMetric, 0); |
| 376 histogram_tester.ExpectTotalCount(kSignInPromoDismissalCountMetric, 0); | 376 histogram_tester.ExpectTotalCount(kSignInPromoDismissalCountMetric, 0); |
| 377 EXPECT_TRUE(prefs()->GetBoolean( | 377 EXPECT_TRUE(prefs()->GetBoolean( |
| 378 password_manager::prefs::kWasSignInPasswordPromoClicked)); | 378 password_manager::prefs::kWasSignInPasswordPromoClicked)); |
| 379 } | 379 } |
| 380 | 380 |
| 381 TEST_F(ManagePasswordsBubbleModelTest, SignInPromoCancel) { | 381 TEST_F(ManagePasswordsBubbleModelTest, SignInPromoCancel) { |
| 382 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 382 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
| 383 kChromeSignInPasswordPromoExperimentName, kFakeGroup)); | 383 kChromeSignInPasswordPromoExperimentName, kFakeGroup)); |
| 384 variations::AssociateVariationParams( | 384 variations::AssociateVariationParams( |
| 385 kChromeSignInPasswordPromoExperimentName, kFakeGroup, | 385 kChromeSignInPasswordPromoExperimentName, kFakeGroup, |
| 386 {{kChromeSignInPasswordPromoThresholdParam, "3"}}); | 386 {{kChromeSignInPasswordPromoThresholdParam, "3"}}); |
| 387 base::HistogramTester histogram_tester; | 387 base::HistogramTester histogram_tester; |
| 388 PretendPasswordWaiting(); | 388 PretendPasswordWaiting(); |
| 389 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); | 389 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); |
| 390 EXPECT_CALL(*controller(), SavePassword()); | 390 EXPECT_CALL(*controller(), SavePassword()); |
| 391 model()->OnSaveClicked(); | 391 model()->OnSaveClicked(); |
| 392 | 392 |
| 393 EXPECT_TRUE(model()->ReplaceToShowSignInPromoIfNeeded()); | 393 EXPECT_TRUE(model()->ReplaceToShowPromotionIfNeeded()); |
| 394 model()->OnSkipSignInClicked(); | 394 model()->OnSkipSignInClicked(); |
| 395 DestroyModel(); | 395 DestroyModel(); |
| 396 histogram_tester.ExpectUniqueSample( | 396 histogram_tester.ExpectUniqueSample( |
| 397 kUIDismissalReasonMetric, | 397 kUIDismissalReasonMetric, |
| 398 password_manager::metrics_util::CLICKED_SAVE, 1); | 398 password_manager::metrics_util::CLICKED_SAVE, 1); |
| 399 histogram_tester.ExpectUniqueSample( | 399 histogram_tester.ExpectUniqueSample( |
| 400 kSignInPromoDismissalReasonMetric, | 400 kSignInPromoDismissalReasonMetric, |
| 401 password_manager::metrics_util::CHROME_SIGNIN_CANCEL, 1); | 401 password_manager::metrics_util::CHROME_SIGNIN_CANCEL, 1); |
| 402 histogram_tester.ExpectUniqueSample(kSignInPromoCountTilNoThanksMetric, 1, 1); | 402 histogram_tester.ExpectUniqueSample(kSignInPromoCountTilNoThanksMetric, 1, 1); |
| 403 histogram_tester.ExpectTotalCount(kSignInPromoCountTilSignInMetric, 0); | 403 histogram_tester.ExpectTotalCount(kSignInPromoCountTilSignInMetric, 0); |
| 404 histogram_tester.ExpectTotalCount(kSignInPromoDismissalCountMetric, 0); | 404 histogram_tester.ExpectTotalCount(kSignInPromoDismissalCountMetric, 0); |
| 405 EXPECT_TRUE(prefs()->GetBoolean( | 405 EXPECT_TRUE(prefs()->GetBoolean( |
| 406 password_manager::prefs::kWasSignInPasswordPromoClicked)); | 406 password_manager::prefs::kWasSignInPasswordPromoClicked)); |
| 407 } | 407 } |
| 408 | 408 |
| 409 TEST_F(ManagePasswordsBubbleModelTest, SignInPromoDismiss) { | 409 TEST_F(ManagePasswordsBubbleModelTest, SignInPromoDismiss) { |
| 410 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( | 410 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
| 411 kChromeSignInPasswordPromoExperimentName, kFakeGroup)); | 411 kChromeSignInPasswordPromoExperimentName, kFakeGroup)); |
| 412 variations::AssociateVariationParams( | 412 variations::AssociateVariationParams( |
| 413 kChromeSignInPasswordPromoExperimentName, kFakeGroup, | 413 kChromeSignInPasswordPromoExperimentName, kFakeGroup, |
| 414 {{kChromeSignInPasswordPromoThresholdParam, "3"}}); | 414 {{kChromeSignInPasswordPromoThresholdParam, "3"}}); |
| 415 base::HistogramTester histogram_tester; | 415 base::HistogramTester histogram_tester; |
| 416 PretendPasswordWaiting(); | 416 PretendPasswordWaiting(); |
| 417 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); | 417 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); |
| 418 EXPECT_CALL(*controller(), SavePassword()); | 418 EXPECT_CALL(*controller(), SavePassword()); |
| 419 model()->OnSaveClicked(); | 419 model()->OnSaveClicked(); |
| 420 | 420 |
| 421 EXPECT_TRUE(model()->ReplaceToShowSignInPromoIfNeeded()); | 421 EXPECT_TRUE(model()->ReplaceToShowPromotionIfNeeded()); |
| 422 DestroyModel(); | 422 DestroyModel(); |
| 423 histogram_tester.ExpectUniqueSample( | 423 histogram_tester.ExpectUniqueSample( |
| 424 kUIDismissalReasonMetric, | 424 kUIDismissalReasonMetric, |
| 425 password_manager::metrics_util::CLICKED_SAVE, 1); | 425 password_manager::metrics_util::CLICKED_SAVE, 1); |
| 426 histogram_tester.ExpectUniqueSample( | 426 histogram_tester.ExpectUniqueSample( |
| 427 kSignInPromoDismissalReasonMetric, | 427 kSignInPromoDismissalReasonMetric, |
| 428 password_manager::metrics_util::CHROME_SIGNIN_DISMISSED, 1); | 428 password_manager::metrics_util::CHROME_SIGNIN_DISMISSED, 1); |
| 429 histogram_tester.ExpectTotalCount(kSignInPromoCountTilSignInMetric, 0); | 429 histogram_tester.ExpectTotalCount(kSignInPromoCountTilSignInMetric, 0); |
| 430 histogram_tester.ExpectTotalCount(kSignInPromoCountTilNoThanksMetric, 0); | 430 histogram_tester.ExpectTotalCount(kSignInPromoCountTilNoThanksMetric, 0); |
| 431 histogram_tester.ExpectUniqueSample(kSignInPromoDismissalCountMetric, 1, 1); | 431 histogram_tester.ExpectUniqueSample(kSignInPromoDismissalCountMetric, 1, 1); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 | 488 |
| 489 EXPECT_CALL(*controller(), NavigateToPasswordManagerSettingsPage()); | 489 EXPECT_CALL(*controller(), NavigateToPasswordManagerSettingsPage()); |
| 490 | 490 |
| 491 model()->OnManageLinkClicked(); | 491 model()->OnManageLinkClicked(); |
| 492 } | 492 } |
| 493 | 493 |
| 494 INSTANTIATE_TEST_CASE_P(Default, | 494 INSTANTIATE_TEST_CASE_P(Default, |
| 495 ManagePasswordsBubbleModelManageLinkTest, | 495 ManagePasswordsBubbleModelManageLinkTest, |
| 496 ::testing::Values(TestSyncService::SyncedTypes::ALL, | 496 ::testing::Values(TestSyncService::SyncedTypes::ALL, |
| 497 TestSyncService::SyncedTypes::NONE)); | 497 TestSyncService::SyncedTypes::NONE)); |
| OLD | NEW |