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

Side by Side Diff: components/autofill/content/browser/autocheckout_manager_unittest.cc

Issue 18179015: Send IPC from renderer to browser on each Autocheckout page completion (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nits Created 7 years, 5 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 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 #include <map> 5 #include <map>
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/tuple.h" 8 #include "base/tuple.h"
9 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 9 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
10 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 580
581 TEST_F(AutocheckoutManagerTest, OnClickFailedTestMissingAdvance) { 581 TEST_F(AutocheckoutManagerTest, OnClickFailedTestMissingAdvance) {
582 OpenRequestAutocompleteDialog(); 582 OpenRequestAutocompleteDialog();
583 583
584 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1); 584 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1);
585 EXPECT_CALL( 585 EXPECT_CALL(
586 autocheckout_manager_->metric_logger(), 586 autocheckout_manager_->metric_logger(),
587 LogAutocheckoutBuyFlowMetric( 587 LogAutocheckoutBuyFlowMetric(
588 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_MISSING_ADVANCE_ELEMENT)) 588 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_MISSING_ADVANCE_ELEMENT))
589 .Times(1); 589 .Times(1);
590 autocheckout_manager_->OnClickFailed(MISSING_ADVANCE); 590 autocheckout_manager_->OnAutocheckoutPageCompleted(MISSING_ADVANCE);
591 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow()); 591 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow());
592 EXPECT_TRUE( 592 EXPECT_TRUE(
593 autofill_manager_delegate_->request_autocomplete_dialog_open()); 593 autofill_manager_delegate_->request_autocomplete_dialog_open());
594 EXPECT_TRUE(autofill_manager_delegate_ 594 EXPECT_TRUE(autofill_manager_delegate_
595 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING, 595 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING,
596 AUTOCHECKOUT_STEP_FAILED)); 596 AUTOCHECKOUT_STEP_FAILED));
597 } 597 }
598 598
599 TEST_F(AutocheckoutManagerTest, OnClickFailedTestMissingClickBeforeFilling) { 599 TEST_F(AutocheckoutManagerTest, OnClickFailedTestMissingClickBeforeFilling) {
600 OpenRequestAutocompleteDialog(); 600 OpenRequestAutocompleteDialog();
601 601
602 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1); 602 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1);
603 EXPECT_CALL( 603 EXPECT_CALL(
604 autocheckout_manager_->metric_logger(), 604 autocheckout_manager_->metric_logger(),
605 LogAutocheckoutBuyFlowMetric(AutofillMetrics:: 605 LogAutocheckoutBuyFlowMetric(AutofillMetrics::
606 AUTOCHECKOUT_BUY_FLOW_MISSING_CLICK_ELEMENT_BEFORE_FORM_FILLING)) 606 AUTOCHECKOUT_BUY_FLOW_MISSING_CLICK_ELEMENT_BEFORE_FORM_FILLING))
607 .Times(1); 607 .Times(1);
608 autocheckout_manager_->OnClickFailed( 608 autocheckout_manager_->OnAutocheckoutPageCompleted(
609 MISSING_CLICK_ELEMENT_BEFORE_FORM_FILLING); 609 MISSING_CLICK_ELEMENT_BEFORE_FORM_FILLING);
610 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow()); 610 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow());
611 EXPECT_TRUE( 611 EXPECT_TRUE(
612 autofill_manager_delegate_->request_autocomplete_dialog_open()); 612 autofill_manager_delegate_->request_autocomplete_dialog_open());
613 } 613 }
614 614
615 TEST_F(AutocheckoutManagerTest, OnClickFailedTestMissingClickAfterFilling) { 615 TEST_F(AutocheckoutManagerTest, OnClickFailedTestMissingClickAfterFilling) {
616 OpenRequestAutocompleteDialog(); 616 OpenRequestAutocompleteDialog();
617 617
618 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1); 618 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1);
619 EXPECT_CALL( 619 EXPECT_CALL(
620 autocheckout_manager_->metric_logger(), 620 autocheckout_manager_->metric_logger(),
621 LogAutocheckoutBuyFlowMetric(AutofillMetrics:: 621 LogAutocheckoutBuyFlowMetric(AutofillMetrics::
622 AUTOCHECKOUT_BUY_FLOW_MISSING_CLICK_ELEMENT_AFTER_FORM_FILLING)) 622 AUTOCHECKOUT_BUY_FLOW_MISSING_CLICK_ELEMENT_AFTER_FORM_FILLING))
623 .Times(1); 623 .Times(1);
624 autocheckout_manager_->OnClickFailed( 624 autocheckout_manager_->OnAutocheckoutPageCompleted(
625 MISSING_CLICK_ELEMENT_AFTER_FORM_FILLING); 625 MISSING_CLICK_ELEMENT_AFTER_FORM_FILLING);
626 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow()); 626 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow());
627 EXPECT_TRUE( 627 EXPECT_TRUE(
628 autofill_manager_delegate_->request_autocomplete_dialog_open()); 628 autofill_manager_delegate_->request_autocomplete_dialog_open());
629 } 629 }
630 630
631 TEST_F(AutocheckoutManagerTest, MaybeShowAutocheckoutBubbleTest) { 631 TEST_F(AutocheckoutManagerTest, MaybeShowAutocheckoutBubbleTest) {
632 GURL frame_url; 632 GURL frame_url;
633 gfx::RectF bounding_box; 633 gfx::RectF bounding_box;
634 EXPECT_CALL(autocheckout_manager_->metric_logger(), 634 EXPECT_CALL(autocheckout_manager_->metric_logger(),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1); 675 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutError()).Times(1);
676 EXPECT_CALL( 676 EXPECT_CALL(
677 autocheckout_manager_->metric_logger(), 677 autocheckout_manager_->metric_logger(),
678 LogAutocheckoutBuyFlowMetric( 678 LogAutocheckoutBuyFlowMetric(
679 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_CANNOT_PROCEED)).Times(1); 679 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_CANNOT_PROCEED)).Times(1);
680 autocheckout_manager_->OnLoadedPageMetaData(CreateStartOfFlowMetaData()); 680 autocheckout_manager_->OnLoadedPageMetaData(CreateStartOfFlowMetaData());
681 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow()); 681 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow());
682 EXPECT_EQ(0U, process()->sink().message_count()); 682 EXPECT_EQ(0U, process()->sink().message_count());
683 EXPECT_TRUE( 683 EXPECT_TRUE(
684 autofill_manager_delegate_->request_autocomplete_dialog_open()); 684 autofill_manager_delegate_->request_autocomplete_dialog_open());
685
685 EXPECT_TRUE(autofill_manager_delegate_ 686 EXPECT_TRUE(autofill_manager_delegate_
686 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING, 687 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING,
687 AUTOCHECKOUT_STEP_FAILED)); 688 AUTOCHECKOUT_STEP_FAILED));
688 } 689 }
689 690
690 TEST_F(AutocheckoutManagerTest, OnLoadedPageMetaDataRepeatedPage) { 691 TEST_F(AutocheckoutManagerTest, OnLoadedPageMetaDataRepeatedPage) {
691 // Repeating a page is an error. 692 // Repeating a page is an error.
692 OpenRequestAutocompleteDialog(); 693 OpenRequestAutocompleteDialog();
693 // Go to second page. 694 // Go to second page.
694 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData()); 695 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData()); 744 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData());
744 EXPECT_EQ(0U, process()->sink().message_count()); 745 EXPECT_EQ(0U, process()->sink().message_count());
745 } 746 }
746 747
747 TEST_F(AutocheckoutManagerTest, FullAutocheckoutFlow) { 748 TEST_F(AutocheckoutManagerTest, FullAutocheckoutFlow) {
748 // Test for progression through last page. 749 // Test for progression through last page.
749 OpenRequestAutocompleteDialog(); 750 OpenRequestAutocompleteDialog();
750 EXPECT_TRUE(autofill_manager_delegate_ 751 EXPECT_TRUE(autofill_manager_delegate_
751 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING, 752 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING,
752 AUTOCHECKOUT_STEP_STARTED)); 753 AUTOCHECKOUT_STEP_STARTED));
753 // Go to second page. 754 // Complete the first page.
755 autocheckout_manager_->OnAutocheckoutPageCompleted(SUCCESS);
756 EXPECT_TRUE(autofill_manager_delegate_
757 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING,
758 AUTOCHECKOUT_STEP_COMPLETED));
759
760 // Go to the second page.
754 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutSuccess()).Times(1); 761 EXPECT_CALL(*autofill_manager_delegate_, OnAutocheckoutSuccess()).Times(1);
755 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData()); 762 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData());
756 EXPECT_TRUE(autocheckout_manager_->in_autocheckout_flow()); 763 EXPECT_TRUE(autocheckout_manager_->in_autocheckout_flow());
757 EXPECT_TRUE(autofill_manager_delegate_
758 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING,
759 AUTOCHECKOUT_STEP_COMPLETED));
760 CheckFillFormsAndClickIpc(); 764 CheckFillFormsAndClickIpc();
761 EXPECT_TRUE(autofill_manager_delegate_ 765 EXPECT_TRUE(autofill_manager_delegate_
762 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_DELIVERY, 766 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_DELIVERY,
763 AUTOCHECKOUT_STEP_STARTED)); 767 AUTOCHECKOUT_STEP_STARTED));
764 // Go to third page. 768 autocheckout_manager_->OnAutocheckoutPageCompleted(SUCCESS);
769 EXPECT_TRUE(autofill_manager_delegate_
770 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_DELIVERY,
771 AUTOCHECKOUT_STEP_COMPLETED));
772
773 // Go to the third page.
765 EXPECT_CALL(autocheckout_manager_->metric_logger(), 774 EXPECT_CALL(autocheckout_manager_->metric_logger(),
766 LogAutocheckoutBuyFlowMetric( 775 LogAutocheckoutBuyFlowMetric(
767 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_SUCCESS)).Times(1); 776 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_SUCCESS)).Times(1);
768 autocheckout_manager_->OnLoadedPageMetaData(CreateEndOfFlowMetaData()); 777 autocheckout_manager_->OnLoadedPageMetaData(CreateEndOfFlowMetaData());
769 CheckFillFormsAndClickIpc(); 778 CheckFillFormsAndClickIpc();
779 EXPECT_TRUE(autocheckout_manager_->in_autocheckout_flow());
770 EXPECT_TRUE(autofill_manager_delegate_ 780 EXPECT_TRUE(autofill_manager_delegate_
771 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_DELIVERY, 781 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_BILLING,
772 AUTOCHECKOUT_STEP_COMPLETED)); 782 AUTOCHECKOUT_STEP_STARTED));
783 autocheckout_manager_->OnAutocheckoutPageCompleted(SUCCESS);
773 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow()); 784 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow());
774 EXPECT_TRUE(autofill_manager_delegate_->request_autocomplete_dialog_open());
775 EXPECT_TRUE(autofill_manager_delegate_ 785 EXPECT_TRUE(autofill_manager_delegate_
776 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_BILLING, 786 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_BILLING,
777 AUTOCHECKOUT_STEP_COMPLETED)); 787 AUTOCHECKOUT_STEP_COMPLETED));
788
789 EXPECT_TRUE(autofill_manager_delegate_->request_autocomplete_dialog_open());
778 } 790 }
779 791
780 TEST_F(AutocheckoutManagerTest, CancelledAutocheckoutFlow) { 792 TEST_F(AutocheckoutManagerTest, CancelledAutocheckoutFlow) {
781 // Test for progression through last page. 793 // Test for progression through last page.
782 OpenRequestAutocompleteDialog(); 794 OpenRequestAutocompleteDialog();
783 // Go to second page. 795 // Go to second page.
784 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData()); 796 autocheckout_manager_->OnLoadedPageMetaData(CreateInFlowMetaData());
785 EXPECT_TRUE(autocheckout_manager_->in_autocheckout_flow()); 797 EXPECT_TRUE(autocheckout_manager_->in_autocheckout_flow());
786 CheckFillFormsAndClickIpc(); 798 CheckFillFormsAndClickIpc();
787 799
(...skipping 24 matching lines...) Expand all
812 GURL frame_url; 824 GURL frame_url;
813 EXPECT_CALL(autocheckout_manager_->metric_logger(), 825 EXPECT_CALL(autocheckout_manager_->metric_logger(),
814 LogAutocheckoutBuyFlowMetric( 826 LogAutocheckoutBuyFlowMetric(
815 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_STARTED)).Times(1); 827 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_STARTED)).Times(1);
816 EXPECT_CALL(autocheckout_manager_->metric_logger(), 828 EXPECT_CALL(autocheckout_manager_->metric_logger(),
817 LogAutocheckoutBuyFlowMetric( 829 LogAutocheckoutBuyFlowMetric(
818 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_SUCCESS)).Times(1); 830 AutofillMetrics::AUTOCHECKOUT_BUY_FLOW_SUCCESS)).Times(1);
819 autocheckout_manager_->MaybeShowAutocheckoutDialog( 831 autocheckout_manager_->MaybeShowAutocheckoutDialog(
820 frame_url, 832 frame_url,
821 AUTOCHECKOUT_BUBBLE_ACCEPTED); 833 AUTOCHECKOUT_BUBBLE_ACCEPTED);
834 autocheckout_manager_->OnAutocheckoutPageCompleted(SUCCESS);
822 CheckFillFormsAndClickIpc(); 835 CheckFillFormsAndClickIpc();
823 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow()); 836 EXPECT_FALSE(autocheckout_manager_->in_autocheckout_flow());
824 EXPECT_TRUE(autofill_manager_delegate_->request_autocomplete_dialog_open()); 837 EXPECT_TRUE(autofill_manager_delegate_->request_autocomplete_dialog_open());
825 EXPECT_TRUE(autofill_manager_delegate_ 838 EXPECT_TRUE(autofill_manager_delegate_
826 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING, 839 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_SHIPPING,
827 AUTOCHECKOUT_STEP_COMPLETED)); 840 AUTOCHECKOUT_STEP_COMPLETED));
828 EXPECT_TRUE(autofill_manager_delegate_ 841 EXPECT_TRUE(autofill_manager_delegate_
829 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_DELIVERY, 842 ->AutocheckoutStepExistsWithStatus(AUTOCHECKOUT_STEP_DELIVERY,
830 AUTOCHECKOUT_STEP_COMPLETED)); 843 AUTOCHECKOUT_STEP_COMPLETED));
831 EXPECT_TRUE(autofill_manager_delegate_ 844 EXPECT_TRUE(autofill_manager_delegate_
(...skipping 27 matching lines...) Expand all
859 frame_url, 872 frame_url,
860 AUTOCHECKOUT_BUBBLE_CANCELED); 873 AUTOCHECKOUT_BUBBLE_CANCELED);
861 EXPECT_FALSE(autocheckout_manager_->is_autocheckout_bubble_showing()); 874 EXPECT_FALSE(autocheckout_manager_->is_autocheckout_bubble_showing());
862 EXPECT_FALSE(autocheckout_manager_->should_show_bubble()); 875 EXPECT_FALSE(autocheckout_manager_->should_show_bubble());
863 876
864 autocheckout_manager_->MaybeShowAutocheckoutBubble(frame_url, bounding_box); 877 autocheckout_manager_->MaybeShowAutocheckoutBubble(frame_url, bounding_box);
865 EXPECT_FALSE(autocheckout_manager_->is_autocheckout_bubble_showing()); 878 EXPECT_FALSE(autocheckout_manager_->is_autocheckout_bubble_showing());
866 } 879 }
867 880
868 } // namespace autofill 881 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698