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

Unified Diff: chrome/browser/ui/views/payments/payment_request_interactive_uitest_base.cc

Issue 2656823006: [Payments] PR: Basic test for the order summary section. (Closed)
Patch Set: Addressed comments Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
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..53af0b1e3b2d94da15053da3f97880a9e7378b9b 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,12 @@
#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/browser/ui/views/payments/payment_request_dialog_view_ids.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 +23,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 +69,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 +96,15 @@ void PaymentRequestInteractiveTestBase::InvokePaymentRequestUI() {
EXPECT_TRUE(web_contents_modal_dialog_manager->IsDialogActive());
}
+void PaymentRequestInteractiveTestBase::OpenOrderSummaryScreen() {
+ event_observer_.reset(
+ new DialogEventObserver(DialogEvent::ORDER_SUMMARY_OPENED));
sky 2017/01/26 23:09:45 MakeUnique.
Mathieu 2017/01/27 00:36:50 Acknowledged.
+
+ ClickOnDialogView(DialogViewID::PAYMENT_SHEET_SUMMARY_SECTION);
+
+ event_observer_->Wait();
+}
+
content::WebContents*
PaymentRequestInteractiveTestBase::GetActiveWebContents() {
return browser()->tab_strip_model()->GetActiveWebContents();
@@ -108,12 +128,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 */,
sky 2017/01/26 23:09:45 MakeUnique.
Mathieu 2017/01/27 00:36:50 Acknowledged.
+ 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));
sky 2017/01/26 23:09:45 ViewID->int
Mathieu 2017/01/27 00:36:50 Done.
+ DCHECK(view);
+ ui_test_utils::MoveMouseToCenterAndPress(
+ view, ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP,
+ base::MessageLoop::QuitWhenIdleClosure());
+ content::RunMessageLoop();
sky 2017/01/26 23:09:45 Is there a reason you're not using a RunLoop and s
Mathieu 2017/01/27 00:36:50 That works too!
+}
+
+const base::string16& PaymentRequestInteractiveTestBase::GetStyledLabelText(
+ DialogViewID view_id) {
+ views::View* view = dialog_view()->GetViewByID(static_cast<ViewID>(view_id));
sky 2017/01/26 23:09:45 ViewID->int
Mathieu 2017/01/27 00:36:50 Done.
+ DCHECK(view);
+ return static_cast<views::StyledLabel*>(view)->text();
}
PaymentRequestInteractiveTestBase::DialogEventObserver::DialogEventObserver(

Powered by Google App Engine
This is Rietveld 408576698