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

Side by Side Diff: chrome/browser/ui/views/payments/payment_request_credit_card_editor_interactive_uitest.cc

Issue 2713873002: [Payments] Add validation for unsupported credit card types in editor. (Closed)
Patch Set: addressed comments 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 <vector> 5 #include <vector>
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h" 10 #include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h"
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 EXPECT_TRUE(IsEditorTextfieldInvalid(autofill::CREDIT_CARD_NUMBER)); 195 EXPECT_TRUE(IsEditorTextfieldInvalid(autofill::CREDIT_CARD_NUMBER));
196 EXPECT_FALSE(IsEditorComboboxInvalid(autofill::CREDIT_CARD_EXP_MONTH)); 196 EXPECT_FALSE(IsEditorComboboxInvalid(autofill::CREDIT_CARD_EXP_MONTH));
197 EXPECT_FALSE(IsEditorComboboxInvalid(autofill::CREDIT_CARD_EXP_4_DIGIT_YEAR)); 197 EXPECT_FALSE(IsEditorComboboxInvalid(autofill::CREDIT_CARD_EXP_4_DIGIT_YEAR));
198 198
199 autofill::PersonalDataManager* personal_data_manager = 199 autofill::PersonalDataManager* personal_data_manager =
200 GetPaymentRequests(GetActiveWebContents())[0]->personal_data_manager(); 200 GetPaymentRequests(GetActiveWebContents())[0]->personal_data_manager();
201 EXPECT_EQ(0u, personal_data_manager->GetCreditCards().size()); 201 EXPECT_EQ(0u, personal_data_manager->GetCreditCards().size());
202 } 202 }
203 203
204 IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest, 204 IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest,
205 EnteringUnsupportedCardType) {
206 autofill::TestAutofillClock test_clock;
207 test_clock.SetNow(kJune2017);
208
209 InvokePaymentRequestUI();
210
211 OpenPaymentMethodScreen();
212
213 OpenCreditCardEditorScreen();
214
215 SetEditorTextfieldValue(base::ASCIIToUTF16("Bob Jones"),
216 autofill::CREDIT_CARD_NAME_FULL);
217 // In this test case, only "visa" and "mastercard" are supported, so entering
218 // a MIR card will fail.
219 SetEditorTextfieldValue(base::ASCIIToUTF16("22222222invalidcard"),
220 autofill::CREDIT_CARD_NUMBER);
221 EXPECT_EQ(l10n_util::GetStringUTF16(
222 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE),
223 GetErrorLabelForType(autofill::CREDIT_CARD_NUMBER));
224 SetComboboxValue(base::ASCIIToUTF16("05"), autofill::CREDIT_CARD_EXP_MONTH);
225 SetComboboxValue(base::ASCIIToUTF16("2026"),
226 autofill::CREDIT_CARD_EXP_4_DIGIT_YEAR);
227
228 ClickOnDialogViewAndWait(DialogViewID::EDITOR_SAVE_BUTTON);
229
230 EXPECT_FALSE(IsEditorTextfieldInvalid(autofill::CREDIT_CARD_NAME_FULL));
231 EXPECT_TRUE(IsEditorTextfieldInvalid(autofill::CREDIT_CARD_NUMBER));
232 EXPECT_FALSE(IsEditorComboboxInvalid(autofill::CREDIT_CARD_EXP_MONTH));
233 EXPECT_FALSE(IsEditorComboboxInvalid(autofill::CREDIT_CARD_EXP_4_DIGIT_YEAR));
234
235 autofill::PersonalDataManager* personal_data_manager =
236 GetPaymentRequests(GetActiveWebContents())[0]->personal_data_manager();
237 EXPECT_EQ(0u, personal_data_manager->GetCreditCards().size());
238 }
239
240 IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest,
205 EnteringInvalidCardNumber_AndFixingIt) { 241 EnteringInvalidCardNumber_AndFixingIt) {
206 autofill::TestAutofillClock test_clock; 242 autofill::TestAutofillClock test_clock;
207 test_clock.SetNow(kJune2017); 243 test_clock.SetNow(kJune2017);
208 244
209 InvokePaymentRequestUI(); 245 InvokePaymentRequestUI();
210 246
211 OpenPaymentMethodScreen(); 247 OpenPaymentMethodScreen();
212 248
213 OpenCreditCardEditorScreen(); 249 OpenCreditCardEditorScreen();
214 250
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 EXPECT_EQ(1u, requests.size()); 450 EXPECT_EQ(1u, requests.size());
415 std::vector<std::string> supported_card_networks = 451 std::vector<std::string> supported_card_networks =
416 requests[0]->supported_card_networks(); 452 requests[0]->supported_card_networks();
417 EXPECT_EQ(3u, supported_card_networks.size()); 453 EXPECT_EQ(3u, supported_card_networks.size());
418 EXPECT_EQ("mastercard", supported_card_networks[0]); 454 EXPECT_EQ("mastercard", supported_card_networks[0]);
419 EXPECT_EQ("visa", supported_card_networks[1]); 455 EXPECT_EQ("visa", supported_card_networks[1]);
420 EXPECT_EQ("jcb", supported_card_networks[2]); 456 EXPECT_EQ("jcb", supported_card_networks[2]);
421 } 457 }
422 458
423 } // namespace payments 459 } // namespace payments
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc ('k') | components/autofill/core/browser/validation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698