| Index: components/payments/core/autofill_payment_instrument_unittest.cc
|
| diff --git a/components/payments/core/autofill_payment_instrument_unittest.cc b/components/payments/core/autofill_payment_instrument_unittest.cc
|
| index 7b9db0be6a96b1a828190e7f22a80fa3dcd7c1a8..622a4e90f577f982879a1ed266e13b950e76f14a 100644
|
| --- a/components/payments/core/autofill_payment_instrument_unittest.cc
|
| +++ b/components/payments/core/autofill_payment_instrument_unittest.cc
|
| @@ -5,11 +5,14 @@
|
| #include "components/payments/core/autofill_payment_instrument.h"
|
|
|
| #include "base/macros.h"
|
| +#include "base/strings/string16.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "components/autofill/core/browser/autofill_profile.h"
|
| #include "components/autofill/core/browser/autofill_test_utils.h"
|
| #include "components/autofill/core/browser/credit_card.h"
|
| +#include "components/strings/grit/components_strings.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
|
|
| namespace payments {
|
|
|
| @@ -40,6 +43,7 @@ TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment) {
|
| AutofillPaymentInstrument instrument("visa", local_credit_card(),
|
| billing_profiles(), "en-US", nullptr);
|
| EXPECT_TRUE(instrument.IsCompleteForPayment());
|
| + EXPECT_TRUE(instrument.GetMissingInfoLabel().empty());
|
| }
|
|
|
| // An expired local card is not a valid instrument for payment.
|
| @@ -49,6 +53,9 @@ TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment_Expired) {
|
| AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
|
| "en-US", nullptr);
|
| EXPECT_FALSE(instrument.IsCompleteForPayment());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(
|
| + IDS_PAYMENTS_VALIDATION_INVALID_CREDIT_CARD_EXPIRED),
|
| + instrument.GetMissingInfoLabel());
|
| }
|
|
|
| // A local card with no name is not a valid instrument for payment.
|
| @@ -56,18 +63,40 @@ TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment_NoName) {
|
| autofill::CreditCard& card = local_credit_card();
|
| card.SetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
|
| base::ASCIIToUTF16(""), "en-US");
|
| + base::string16 missing_info;
|
| AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
|
| "en-US", nullptr);
|
| EXPECT_FALSE(instrument.IsCompleteForPayment());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_PAYMENTS_NAME_ON_CARD_REQUIRED),
|
| + instrument.GetMissingInfoLabel());
|
| }
|
|
|
| // A local card with no name is not a valid instrument for payment.
|
| TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment_NoNumber) {
|
| autofill::CreditCard& card = local_credit_card();
|
| card.SetNumber(base::ASCIIToUTF16(""));
|
| + base::string16 missing_info;
|
| AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
|
| "en-US", nullptr);
|
| EXPECT_FALSE(instrument.IsCompleteForPayment());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(
|
| + IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE),
|
| + instrument.GetMissingInfoLabel());
|
| +}
|
| +
|
| +// A local card with no name and no number is not a valid instrument for
|
| +// payment.
|
| +TEST_F(AutofillPaymentInstrumentTest,
|
| + IsCompleteForPayment_MultipleThingsMissing) {
|
| + autofill::CreditCard& card = local_credit_card();
|
| + card.SetNumber(base::ASCIIToUTF16(""));
|
| + card.SetInfo(autofill::AutofillType(autofill::CREDIT_CARD_NAME_FULL),
|
| + base::ASCIIToUTF16(""), "en-US");
|
| + AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
|
| + "en-US", nullptr);
|
| + EXPECT_FALSE(instrument.IsCompleteForPayment());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_PAYMENTS_MORE_INFORMATION_REQUIRED),
|
| + instrument.GetMissingInfoLabel());
|
| }
|
|
|
| // A Masked (server) card is a valid instrument for payment.
|
| @@ -76,6 +105,7 @@ TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment_MaskedCard) {
|
| AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
|
| "en-US", nullptr);
|
| EXPECT_TRUE(instrument.IsCompleteForPayment());
|
| + EXPECT_TRUE(instrument.GetMissingInfoLabel().empty());
|
| }
|
|
|
| // An expired masked (server) card is not a valid instrument for payment.
|
| @@ -85,6 +115,9 @@ TEST_F(AutofillPaymentInstrumentTest, IsCompleteForPayment_ExpiredMaskedCard) {
|
| AutofillPaymentInstrument instrument("visa", card, billing_profiles(),
|
| "en-US", nullptr);
|
| EXPECT_FALSE(instrument.IsCompleteForPayment());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(
|
| + IDS_PAYMENTS_VALIDATION_INVALID_CREDIT_CARD_EXPIRED),
|
| + instrument.GetMissingInfoLabel());
|
| }
|
|
|
| // An expired card is a valid instrument for canMakePayment.
|
|
|