| Index: chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc
|
| diff --git a/chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc b/chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc
|
| index c88f0a33c409e907977fcc50ef57031c70088eb2..7c2ba767d6e73ece891a0758c78165e150449a13 100644
|
| --- a/chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc
|
| +++ b/chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc
|
| @@ -9,9 +9,11 @@
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/message_loop/message_loop.h"
|
| +#include "base/strings/string16.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| -#include "chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.h"
|
| +#include "chrome/test/base/interactive_test_utils.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "components/payments/payment_request.h"
|
| #include "components/payments/payment_request_web_contents_manager.h"
|
| @@ -20,8 +22,11 @@
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/common/content_switches.h"
|
| #include "content/public/test/browser_test_utils.h"
|
| +#include "content/public/test/test_utils.h"
|
| #include "services/service_manager/public/cpp/interface_registry.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "ui/base/test/ui_controls.h"
|
| +#include "ui/views/controls/styled_label.h"
|
|
|
| namespace payments {
|
|
|
| @@ -63,6 +68,11 @@ void PaymentRequestInteractiveTestBase::OnDialogOpened() {
|
| event_observer_->Observe(DialogEvent::DIALOG_OPENED);
|
| }
|
|
|
| +void PaymentRequestInteractiveTestBase::OnOrderSummaryOpened() {
|
| + if (event_observer_)
|
| + event_observer_->Observe(DialogEvent::ORDER_SUMMARY_OPENED);
|
| +}
|
| +
|
| void PaymentRequestInteractiveTestBase::OnWidgetDestroyed(
|
| views::Widget* widget) {
|
| if (event_observer_)
|
| @@ -85,6 +95,15 @@ void PaymentRequestInteractiveTestBase::InvokePaymentRequestUI() {
|
| EXPECT_TRUE(web_contents_modal_dialog_manager->IsDialogActive());
|
| }
|
|
|
| +void PaymentRequestInteractiveTestBase::OpenOrderSummaryScreen() {
|
| + event_observer_.reset(
|
| + new DialogEventObserver(DialogEvent::ORDER_SUMMARY_OPENED));
|
| +
|
| + ClickOnDialogView(DialogViewID::PAYMENT_SHEET_SUMMARY_SECTION);
|
| +
|
| + event_observer_->Wait();
|
| +}
|
| +
|
| content::WebContents*
|
| PaymentRequestInteractiveTestBase::GetActiveWebContents() {
|
| return browser()->tab_strip_model()->GetActiveWebContents();
|
| @@ -108,12 +127,31 @@ void PaymentRequestInteractiveTestBase::CreatePaymentRequestForTest(
|
| content::WebContents* web_contents,
|
| mojo::InterfaceRequest<payments::mojom::PaymentRequest> request) {
|
| DCHECK(web_contents);
|
| + std::unique_ptr<TestChromePaymentRequestDelegate> delegate(
|
| + new TestChromePaymentRequestDelegate(web_contents, this /* observer */,
|
| + this /* widget_observer */));
|
| + delegate_ = delegate.get();
|
| PaymentRequestWebContentsManager::GetOrCreateForWebContents(web_contents)
|
| - ->CreatePaymentRequest(
|
| - web_contents,
|
| - base::MakeUnique<TestChromePaymentRequestDelegate>(
|
| - web_contents, this /* observer */, this /* widget_observer */),
|
| - std::move(request));
|
| + ->CreatePaymentRequest(web_contents, std::move(delegate),
|
| + std::move(request));
|
| +}
|
| +
|
| +void PaymentRequestInteractiveTestBase::ClickOnDialogView(
|
| + DialogViewID view_id) {
|
| + views::View* view =
|
| + delegate_->dialog_view()->GetViewByID(static_cast<ViewID>(view_id));
|
| + DCHECK(view);
|
| + ui_test_utils::MoveMouseToCenterAndPress(
|
| + view, ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP,
|
| + base::MessageLoop::QuitWhenIdleClosure());
|
| + content::RunMessageLoop();
|
| +}
|
| +
|
| +const base::string16& PaymentRequestInteractiveTestBase::GetStyledLabelText(
|
| + DialogViewID view_id) {
|
| + views::View* view = dialog_view()->GetViewByID(view_id);
|
| + DCHECK(view_id);
|
| + return static_cast<views::StyledLabel*>(view)->text();
|
| }
|
|
|
| PaymentRequestInteractiveTestBase::DialogEventObserver::DialogEventObserver(
|
|
|