| 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 |