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

Unified Diff: ios/chrome/browser/payments/payment_request_unittest.mm

Issue 2750363002: [Payment Request] supported card networks + adding a credit card. (Closed)
Patch Set: Addressed comments Created 3 years, 9 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
« no previous file with comments | « ios/chrome/browser/payments/payment_request.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/payments/payment_request_unittest.mm
diff --git a/ios/chrome/browser/payments/payment_request_unittest.mm b/ios/chrome/browser/payments/payment_request_unittest.mm
index 3e3470f90ae564aa7585eb8c60fecba5080a4240..651404b81d41d752fa118cbf33968c0d73531d88 100644
--- a/ios/chrome/browser/payments/payment_request_unittest.mm
+++ b/ios/chrome/browser/payments/payment_request_unittest.mm
@@ -8,6 +8,7 @@
#include "components/autofill/core/browser/test_personal_data_manager.h"
#include "components/payments/core/currency_formatter.h"
#include "ios/chrome/browser/application_context.h"
+#include "ios/chrome/browser/payments/payment_request_test_util.h"
#include "ios/web/public/payments/payment_request.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -20,36 +21,71 @@
TEST(PaymentRequestTest, CreatesCurrencyFormatterCorrectly) {
ASSERT_EQ("en", GetApplicationContext()->GetApplicationLocale());
+ web::PaymentRequest web_payment_request;
autofill::TestPersonalDataManager personal_data_manager;
- std::unique_ptr<web::PaymentRequest> web_payment_request =
- base::MakeUnique<web::PaymentRequest>();
- web_payment_request->details.total.amount.currency =
- base::ASCIIToUTF16("USD");
- PaymentRequest payment_request1(std::move(web_payment_request),
- &personal_data_manager);
+ web_payment_request.details.total.amount.currency = base::ASCIIToUTF16("USD");
+ PaymentRequest payment_request1(
+ base::MakeUnique<web::PaymentRequest>(web_payment_request),
+ &personal_data_manager);
payments::CurrencyFormatter* currency_formatter =
payment_request1.GetOrCreateCurrencyFormatter();
- ASSERT_EQ(base::UTF8ToUTF16("$55.00"), currency_formatter->Format("55.00"));
- ASSERT_EQ("USD", currency_formatter->formatted_currency_code());
-
- web_payment_request = base::MakeUnique<web::PaymentRequest>();
- web_payment_request->details.total.amount.currency =
- base::ASCIIToUTF16("JPY");
- PaymentRequest payment_request2(std::move(web_payment_request),
- &personal_data_manager);
+ EXPECT_EQ(base::UTF8ToUTF16("$55.00"), currency_formatter->Format("55.00"));
+ EXPECT_EQ("USD", currency_formatter->formatted_currency_code());
+
+ web_payment_request.details.total.amount.currency = base::ASCIIToUTF16("JPY");
+ PaymentRequest payment_request2(
+ base::MakeUnique<web::PaymentRequest>(web_payment_request),
+ &personal_data_manager);
currency_formatter = payment_request2.GetOrCreateCurrencyFormatter();
- ASSERT_EQ(base::UTF8ToUTF16("¥55"), currency_formatter->Format("55.00"));
- ASSERT_EQ("JPY", currency_formatter->formatted_currency_code());
+ EXPECT_EQ(base::UTF8ToUTF16("¥55"), currency_formatter->Format("55.00"));
+ EXPECT_EQ("JPY", currency_formatter->formatted_currency_code());
- web_payment_request = base::MakeUnique<web::PaymentRequest>();
- web_payment_request->details.total.amount.currency_system =
+ web_payment_request.details.total.amount.currency_system =
base::ASCIIToUTF16("NOT_ISO4217");
- web_payment_request->details.total.amount.currency =
- base::ASCIIToUTF16("USD");
- PaymentRequest payment_request3(std::move(web_payment_request),
- &personal_data_manager);
+ web_payment_request.details.total.amount.currency = base::ASCIIToUTF16("USD");
+ PaymentRequest payment_request3(
+ base::MakeUnique<web::PaymentRequest>(web_payment_request),
+ &personal_data_manager);
currency_formatter = payment_request3.GetOrCreateCurrencyFormatter();
- ASSERT_EQ(base::UTF8ToUTF16("55.00"), currency_formatter->Format("55.00"));
- ASSERT_EQ("USD", currency_formatter->formatted_currency_code());
+ EXPECT_EQ(base::UTF8ToUTF16("55.00"), currency_formatter->Format("55.00"));
+ EXPECT_EQ("USD", currency_formatter->formatted_currency_code());
+}
+
+// Tests that the accepted card networks are identified correctly.
+TEST(PaymentRequestTest, AcceptedPaymentNetworks) {
+ web::PaymentRequest web_payment_request;
+ autofill::TestPersonalDataManager personal_data_manager;
+
+ web::PaymentMethodData method_datum1;
+ method_datum1.supported_methods.push_back(base::ASCIIToUTF16("visa"));
+ web_payment_request.method_data.push_back(method_datum1);
+ web::PaymentMethodData method_datum2;
+ method_datum2.supported_methods.push_back(base::ASCIIToUTF16("mastercard"));
+ web_payment_request.method_data.push_back(method_datum2);
+
+ PaymentRequest payment_request(
+ base::MakeUnique<web::PaymentRequest>(web_payment_request),
+ &personal_data_manager);
+ ASSERT_EQ(2U, payment_request.supported_card_networks().size());
+ EXPECT_EQ("visa", payment_request.supported_card_networks()[0]);
+ EXPECT_EQ("mastercard", payment_request.supported_card_networks()[1]);
+}
+
+// Tests that credit cards can be added to the list of cached credit cards.
+TEST(PaymentRequestTest, AddCreditCard) {
+ web::PaymentRequest web_payment_request;
+ autofill::TestPersonalDataManager personal_data_manager;
+
+ PaymentRequest payment_request(
+ base::MakeUnique<web::PaymentRequest>(web_payment_request),
+ &personal_data_manager);
+ EXPECT_EQ(0U, payment_request.credit_cards().size());
+
+ std::unique_ptr<autofill::CreditCard> credit_card =
+ payment_request_test_util::CreateTestCreditCard();
+ const autofill::CreditCard* added_credit_card = credit_card.get();
+ payment_request.AddCreditCard(std::move(credit_card));
+ ASSERT_EQ(1U, payment_request.credit_cards().size());
+ EXPECT_EQ(added_credit_card, payment_request.credit_cards()[0]);
}
« no previous file with comments | « ios/chrome/browser/payments/payment_request.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698