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

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

Issue 2805263003: [Payments] Selecting incomplete items will open editors (Closed)
Patch Set: fix ios test for realz Created 3 years, 8 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/credit_card_editor_view_controller_browsertest.cc
diff --git a/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc b/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc
index 87e82b7804ff11676f1d352a7b703d07c8dab519..08bce0bfdf4c4e9a4c336cbc29368a8b255d886e 100644
--- a/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc
+++ b/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/ui/views/payments/payment_request_browsertest_base.h"
#include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h"
#include "chrome/browser/ui/views/payments/validating_textfield.h"
+#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/field_types.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/test_autofill_clock.h"
@@ -24,6 +25,7 @@ namespace payments {
namespace {
+const base::Time kJanuary2017 = base::Time::FromDoubleT(1484505871);
const base::Time kJune2017 = base::Time::FromDoubleT(1497552271);
} // namespace
@@ -278,6 +280,64 @@ IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest,
credit_card->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL));
}
+IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest, EditingExpiredCard) {
+ // Add expired card.
+ autofill::CreditCard card = autofill::test::GetCreditCard();
+ card.set_use_count(5U);
+ card.set_use_date(kJanuary2017);
+ card.SetExpirationMonth(1);
+ card.SetExpirationYear(2017);
+ AddCreditCard(card);
+ autofill::TestAutofillClock test_clock;
+ test_clock.SetNow(kJune2017);
+
+ InvokePaymentRequestUI();
+
+ OpenPaymentMethodScreen();
+
+ ResetEventObserver(DialogEvent::CREDIT_CARD_EDITOR_OPENED);
+ ClickOnChildInListViewAndWait(/*child_index=*/0, /*num_children=*/1,
+ DialogViewID::PAYMENT_METHOD_SHEET_LIST_VIEW);
+
+ EXPECT_EQ(base::ASCIIToUTF16("Test User"),
+ GetEditorTextfieldValue(autofill::CREDIT_CARD_NAME_FULL));
+ EXPECT_EQ(base::ASCIIToUTF16("4111111111111111"),
+ GetEditorTextfieldValue(autofill::CREDIT_CARD_NUMBER));
+ EXPECT_EQ(base::ASCIIToUTF16("01"),
+ GetComboboxValue(autofill::CREDIT_CARD_EXP_MONTH));
+ EXPECT_EQ(base::ASCIIToUTF16("2017"),
+ GetComboboxValue(autofill::CREDIT_CARD_EXP_4_DIGIT_YEAR));
+
+ // Fixing the expiration date.
+ SetComboboxValue(base::ASCIIToUTF16("11"), autofill::CREDIT_CARD_EXP_MONTH);
+
+ // Verifying the data is in the DB.
+ autofill::PersonalDataManager* personal_data_manager = GetDataManager();
+ personal_data_manager->AddObserver(&personal_data_observer_);
+
+ ResetEventObserver(DialogEvent::BACK_NAVIGATION);
+
+ // Wait until the web database has been updated and the notification sent.
+ base::RunLoop data_loop;
+ EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
+ .WillOnce(QuitMessageLoop(&data_loop));
+ ClickOnDialogViewAndWait(DialogViewID::EDITOR_SAVE_BUTTON);
+ data_loop.Run();
+
+ EXPECT_EQ(1u, personal_data_manager->GetCreditCards().size());
+ autofill::CreditCard* credit_card =
+ personal_data_manager->GetCreditCards()[0];
+ EXPECT_EQ(11, credit_card->expiration_month());
+ EXPECT_EQ(2017, credit_card->expiration_year());
+ // It retains other properties.
+ EXPECT_EQ(card.guid(), credit_card->guid());
+ EXPECT_EQ(5U, credit_card->use_count());
+ EXPECT_EQ(kJanuary2017, credit_card->use_date());
+ EXPECT_EQ(base::ASCIIToUTF16("4111111111111111"), credit_card->number());
+ EXPECT_EQ(base::ASCIIToUTF16("Test User"),
+ credit_card->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL));
+}
+
IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest, EnteringEmptyData) {
InvokePaymentRequestUI();

Powered by Google App Engine
This is Rietveld 408576698