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

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

Issue 2676663002: [Payments] Implements the credit card editor for Desktop UI (Closed)
Patch Set: formatting Created 3 years, 10 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 10bfb9bb5353491d1bec83318fdaf1f2cebc772a..2ebbfd266368e3a3098058455a6753502700fda3 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
@@ -14,6 +14,7 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h"
+#include "chrome/browser/ui/views/payments/view_stack.h"
#include "chrome/test/base/interactive_test_utils.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/payments/payment_request.h"
@@ -26,6 +27,7 @@
#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/gfx/animation/test_animation_delegate.h"
#include "ui/views/controls/styled_label.h"
namespace payments {
@@ -74,6 +76,21 @@ void PaymentRequestInteractiveTestBase::OnOrderSummaryOpened() {
event_observer_->Observe(DialogEvent::ORDER_SUMMARY_OPENED);
}
+void PaymentRequestInteractiveTestBase::OnPaymentMethodOpened() {
+ if (event_observer_)
+ event_observer_->Observe(DialogEvent::PAYMENT_METHOD_OPENED);
+}
+
+void PaymentRequestInteractiveTestBase::OnCreditCardEditorOpened() {
+ if (event_observer_)
+ event_observer_->Observe(DialogEvent::CREDIT_CARD_EDITOR_OPENED);
+}
+
+void PaymentRequestInteractiveTestBase::OnBackNavigation() {
+ if (event_observer_)
+ event_observer_->Observe(DialogEvent::BACK_NAVIGATION);
+}
+
void PaymentRequestInteractiveTestBase::OnWidgetDestroyed(
views::Widget* widget) {
if (event_observer_)
@@ -99,9 +116,19 @@ void PaymentRequestInteractiveTestBase::InvokePaymentRequestUI() {
void PaymentRequestInteractiveTestBase::OpenOrderSummaryScreen() {
ResetEventObserver(DialogEvent::ORDER_SUMMARY_OPENED);
- ClickOnDialogView(DialogViewID::PAYMENT_SHEET_SUMMARY_SECTION);
+ ClickOnDialogViewAndWait(DialogViewID::PAYMENT_SHEET_SUMMARY_SECTION);
+}
+
+void PaymentRequestInteractiveTestBase::OpenPaymentMethodScreen() {
+ ResetEventObserver(DialogEvent::PAYMENT_METHOD_OPENED);
- WaitForObservedEvent();
+ ClickOnDialogViewAndWait(DialogViewID::PAYMENT_SHEET_PAYMENT_METHOD_SECTION);
+}
+
+void PaymentRequestInteractiveTestBase::OpenCreditCardEditorScreen() {
+ ResetEventObserver(DialogEvent::CREDIT_CARD_EDITOR_OPENED);
+
+ ClickOnDialogViewAndWait(DialogViewID::PAYMENT_METHOD_ADD_CARD_BUTTON);
}
content::WebContents*
@@ -136,7 +163,7 @@ void PaymentRequestInteractiveTestBase::CreatePaymentRequestForTest(
std::move(request));
}
-void PaymentRequestInteractiveTestBase::ClickOnDialogView(
+void PaymentRequestInteractiveTestBase::ClickOnDialogViewAndWait(
DialogViewID view_id) {
views::View* view =
delegate_->dialog_view()->GetViewByID(static_cast<int>(view_id));
@@ -146,6 +173,27 @@ void PaymentRequestInteractiveTestBase::ClickOnDialogView(
view, ui_controls::LEFT, ui_controls::DOWN | ui_controls::UP,
run_loop.QuitClosure());
run_loop.Run();
+
+ WaitForAnimation();
+
+ WaitForObservedEvent();
+}
+
+void PaymentRequestInteractiveTestBase::WaitForAnimation() {
+ ViewStack* view_stack = dialog_view()->view_stack_for_testing();
+ if (view_stack->slide_in_animator_->IsAnimating()) {
+ view_stack->slide_in_animator_->SetAnimationDuration(1);
+ view_stack->slide_in_animator_->SetAnimationDelegate(
+ view_stack->top(), std::unique_ptr<gfx::AnimationDelegate>(
+ new gfx::TestAnimationDelegate()));
+ base::RunLoop().Run();
+ } else if (view_stack->slide_out_animator_->IsAnimating()) {
+ view_stack->slide_out_animator_->SetAnimationDuration(1);
+ view_stack->slide_out_animator_->SetAnimationDelegate(
+ view_stack->top(), std::unique_ptr<gfx::AnimationDelegate>(
+ new gfx::TestAnimationDelegate()));
+ base::RunLoop().Run();
+ }
}
const base::string16& PaymentRequestInteractiveTestBase::GetStyledLabelText(

Powered by Google App Engine
This is Rietveld 408576698