OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |