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

Side by Side Diff: ios/web/payments/payment_request_unittest.cc

Issue 2733953003: [Payments] Return a basic card response (Closed)
Patch Set: addressed comments from anthony 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 unified diff | Download patch
« no previous file with comments | « ios/web/payments/payment_request.cc ('k') | ios/web/public/payments/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ios/web/public/payments/payment_request.h" 5 #include "ios/web/public/payments/payment_request.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "components/payments/core/basic_card_response.h"
12 #include "components/payments/core/payment_address.h"
11 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
12 14
13 namespace web { 15 namespace web {
14 16
15 // PaymentRequest parsing tests. 17 // PaymentRequest parsing tests.
16 18
17 // Tests the success case when populating a PaymentMethodData from a dictionary. 19 // Tests the success case when populating a PaymentMethodData from a dictionary.
18 TEST(PaymentRequestTest, PaymentMethodDataFromDictionaryValueSuccess) { 20 TEST(PaymentRequestTest, PaymentMethodDataFromDictionaryValueSuccess) {
19 PaymentMethodData expected; 21 PaymentMethodData expected;
20 std::vector<base::string16> supported_methods; 22 std::vector<base::string16> supported_methods;
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 payment_response.shipping_option = base::ASCIIToUTF16("666"); 352 payment_response.shipping_option = base::ASCIIToUTF16("666");
351 payment_response.payer_name = base::ASCIIToUTF16("Jane Doe"); 353 payment_response.payer_name = base::ASCIIToUTF16("Jane Doe");
352 payment_response.payer_email = base::ASCIIToUTF16("jane@example.com"); 354 payment_response.payer_email = base::ASCIIToUTF16("jane@example.com");
353 payment_response.payer_phone = base::ASCIIToUTF16("1234-567-890"); 355 payment_response.payer_phone = base::ASCIIToUTF16("1234-567-890");
354 EXPECT_TRUE( 356 EXPECT_TRUE(
355 expected_value.Equals(payment_response.ToDictionaryValue().get())); 357 expected_value.Equals(payment_response.ToDictionaryValue().get()));
356 } 358 }
357 359
358 // Value equality tests. 360 // Value equality tests.
359 361
360 // Tests that two addresses are not equal if their property values differ or
361 // one is missing a value present in the other, and equal otherwise.
362 TEST(PaymentRequestTest, PaymentAddressEquality) {
363 PaymentAddress address1;
364 PaymentAddress address2;
365 EXPECT_EQ(address1, address2);
366
367 address1.country = base::ASCIIToUTF16("Madagascar");
368 EXPECT_NE(address1, address2);
369 address2.country = base::ASCIIToUTF16("Monaco");
370 EXPECT_NE(address1, address2);
371 address2.country = base::ASCIIToUTF16("Madagascar");
372 EXPECT_EQ(address1, address2);
373
374 std::vector<base::string16> address_line1;
375 address_line1.push_back(base::ASCIIToUTF16("123 Main St."));
376 address_line1.push_back(base::ASCIIToUTF16("Apartment B"));
377 address1.address_line = address_line1;
378 EXPECT_NE(address1, address2);
379 std::vector<base::string16> address_line2;
380 address_line2.push_back(base::ASCIIToUTF16("123 Main St."));
381 address_line2.push_back(base::ASCIIToUTF16("Apartment C"));
382 address2.address_line = address_line2;
383 EXPECT_NE(address1, address2);
384 address2.address_line = address_line1;
385 EXPECT_EQ(address1, address2);
386
387 address1.region = base::ASCIIToUTF16("Quebec");
388 EXPECT_NE(address1, address2);
389 address2.region = base::ASCIIToUTF16("Newfoundland and Labrador");
390 EXPECT_NE(address1, address2);
391 address2.region = base::ASCIIToUTF16("Quebec");
392 EXPECT_EQ(address1, address2);
393
394 address1.city = base::ASCIIToUTF16("Timbuktu");
395 EXPECT_NE(address1, address2);
396 address2.city = base::ASCIIToUTF16("Timbuk 3");
397 EXPECT_NE(address1, address2);
398 address2.city = base::ASCIIToUTF16("Timbuktu");
399 EXPECT_EQ(address1, address2);
400
401 address1.dependent_locality = base::ASCIIToUTF16("Manhattan");
402 EXPECT_NE(address1, address2);
403 address2.dependent_locality = base::ASCIIToUTF16("Queens");
404 EXPECT_NE(address1, address2);
405 address2.dependent_locality = base::ASCIIToUTF16("Manhattan");
406 EXPECT_EQ(address1, address2);
407
408 address1.postal_code = base::ASCIIToUTF16("90210");
409 EXPECT_NE(address1, address2);
410 address2.postal_code = base::ASCIIToUTF16("89049");
411 EXPECT_NE(address1, address2);
412 address2.postal_code = base::ASCIIToUTF16("90210");
413 EXPECT_EQ(address1, address2);
414
415 address1.sorting_code = base::ASCIIToUTF16("14390");
416 EXPECT_NE(address1, address2);
417 address2.sorting_code = base::ASCIIToUTF16("09341");
418 EXPECT_NE(address1, address2);
419 address2.sorting_code = base::ASCIIToUTF16("14390");
420 EXPECT_EQ(address1, address2);
421
422 address1.language_code = base::ASCIIToUTF16("fr");
423 EXPECT_NE(address1, address2);
424 address2.language_code = base::ASCIIToUTF16("zh-HK");
425 EXPECT_NE(address1, address2);
426 address2.language_code = base::ASCIIToUTF16("fr");
427 EXPECT_EQ(address1, address2);
428
429 address1.organization = base::ASCIIToUTF16("The Willy Wonka Candy Company");
430 EXPECT_NE(address1, address2);
431 address2.organization = base::ASCIIToUTF16("Sears");
432 EXPECT_NE(address1, address2);
433 address2.organization = base::ASCIIToUTF16("The Willy Wonka Candy Company");
434 EXPECT_EQ(address1, address2);
435
436 address1.recipient = base::ASCIIToUTF16("Veruca Salt");
437 EXPECT_NE(address1, address2);
438 address2.recipient = base::ASCIIToUTF16("Veronica Mars");
439 EXPECT_NE(address1, address2);
440 address2.recipient = base::ASCIIToUTF16("Veruca Salt");
441 EXPECT_EQ(address1, address2);
442
443 address1.care_of = base::ASCIIToUTF16("Jarvis");
444 EXPECT_NE(address1, address2);
445 address2.care_of = base::ASCIIToUTF16("Tony");
446 EXPECT_NE(address1, address2);
447 address2.care_of = base::ASCIIToUTF16("Jarvis");
448 EXPECT_EQ(address1, address2);
449
450 address1.phone = base::ASCIIToUTF16("888-867-5309");
451 EXPECT_NE(address1, address2);
452 address2.phone = base::ASCIIToUTF16("800-984-3672");
453 EXPECT_NE(address1, address2);
454 address2.phone = base::ASCIIToUTF16("888-867-5309");
455 EXPECT_EQ(address1, address2);
456 }
457
458 // Tests that two method data objects are not equal if their property values 362 // Tests that two method data objects are not equal if their property values
459 // differ or one is missing a value present in the other, and equal otherwise. 363 // differ or one is missing a value present in the other, and equal otherwise.
460 TEST(PaymentRequestTest, PaymentMethodDataEquality) { 364 TEST(PaymentRequestTest, PaymentMethodDataEquality) {
461 PaymentMethodData method_data1; 365 PaymentMethodData method_data1;
462 PaymentMethodData method_data2; 366 PaymentMethodData method_data2;
463 EXPECT_EQ(method_data1, method_data2); 367 EXPECT_EQ(method_data1, method_data2);
464 368
465 std::vector<base::string16> supported_methods1; 369 std::vector<base::string16> supported_methods1;
466 supported_methods1.push_back(base::ASCIIToUTF16("Visa")); 370 supported_methods1.push_back(base::ASCIIToUTF16("Visa"));
467 supported_methods1.push_back(base::ASCIIToUTF16("BobPay")); 371 supported_methods1.push_back(base::ASCIIToUTF16("BobPay"));
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 618
715 // Tests that two payment request objects are not equal if their property values 619 // Tests that two payment request objects are not equal if their property values
716 // differ or one is missing a value present in the other, and equal otherwise. 620 // differ or one is missing a value present in the other, and equal otherwise.
717 // Doesn't test all properties of child objects, relying instead on their 621 // Doesn't test all properties of child objects, relying instead on their
718 // respective tests. 622 // respective tests.
719 TEST(PaymentRequestTest, PaymentRequestEquality) { 623 TEST(PaymentRequestTest, PaymentRequestEquality) {
720 PaymentRequest request1; 624 PaymentRequest request1;
721 PaymentRequest request2; 625 PaymentRequest request2;
722 EXPECT_EQ(request1, request2); 626 EXPECT_EQ(request1, request2);
723 627
724 PaymentAddress address1; 628 payments::PaymentAddress address1;
725 address1.recipient = base::ASCIIToUTF16("Jessica Jones"); 629 address1.recipient = base::ASCIIToUTF16("Jessica Jones");
726 request1.shipping_address = address1; 630 request1.shipping_address = address1;
727 EXPECT_NE(request1, request2); 631 EXPECT_NE(request1, request2);
728 PaymentAddress address2; 632 payments::PaymentAddress address2;
729 address2.recipient = base::ASCIIToUTF16("Luke Cage"); 633 address2.recipient = base::ASCIIToUTF16("Luke Cage");
730 request2.shipping_address = address2; 634 request2.shipping_address = address2;
731 EXPECT_NE(request1, request2); 635 EXPECT_NE(request1, request2);
732 request2.shipping_address = address1; 636 request2.shipping_address = address1;
733 EXPECT_EQ(request1, request2); 637 EXPECT_EQ(request1, request2);
734 638
735 request1.shipping_option = base::ASCIIToUTF16("2-Day"); 639 request1.shipping_option = base::ASCIIToUTF16("2-Day");
736 EXPECT_NE(request1, request2); 640 EXPECT_NE(request1, request2);
737 request2.shipping_option = base::ASCIIToUTF16("3-Day"); 641 request2.shipping_option = base::ASCIIToUTF16("3-Day");
738 EXPECT_NE(request1, request2); 642 EXPECT_NE(request1, request2);
(...skipping 24 matching lines...) Expand all
763 EXPECT_EQ(request1, request2); 667 EXPECT_EQ(request1, request2);
764 668
765 PaymentOptions options; 669 PaymentOptions options;
766 options.request_shipping = true; 670 options.request_shipping = true;
767 request1.options = options; 671 request1.options = options;
768 EXPECT_NE(request1, request2); 672 EXPECT_NE(request1, request2);
769 request2.options = options; 673 request2.options = options;
770 EXPECT_EQ(request1, request2); 674 EXPECT_EQ(request1, request2);
771 } 675 }
772 676
773 // Tests that two credit card response objects are not equal if their property
774 // values differ or one is missing a value present in the other, and equal
775 // otherwise. Doesn't test all properties of child objects, relying instead on
776 // their respective tests.
777 TEST(PaymentRequestTest, BasicCardResponseEquality) {
778 BasicCardResponse card_response1;
779 BasicCardResponse card_response2;
780 EXPECT_EQ(card_response1, card_response2);
781
782 card_response1.cardholder_name = base::ASCIIToUTF16("Shadow Moon");
783 EXPECT_NE(card_response1, card_response2);
784 card_response2.cardholder_name = base::ASCIIToUTF16("Mad Sweeney");
785 EXPECT_NE(card_response1, card_response2);
786 card_response2.cardholder_name = base::ASCIIToUTF16("Shadow Moon");
787 EXPECT_EQ(card_response1, card_response2);
788
789 card_response1.card_number = base::ASCIIToUTF16("4111111111111111");
790 EXPECT_NE(card_response1, card_response2);
791 card_response2.card_number = base::ASCIIToUTF16("1111");
792 EXPECT_NE(card_response1, card_response2);
793 card_response2.card_number = base::ASCIIToUTF16("4111111111111111");
794 EXPECT_EQ(card_response1, card_response2);
795
796 card_response1.expiry_month = base::ASCIIToUTF16("01");
797 EXPECT_NE(card_response1, card_response2);
798 card_response2.expiry_month = base::ASCIIToUTF16("11");
799 EXPECT_NE(card_response1, card_response2);
800 card_response2.expiry_month = base::ASCIIToUTF16("01");
801 EXPECT_EQ(card_response1, card_response2);
802
803 card_response1.expiry_year = base::ASCIIToUTF16("27");
804 EXPECT_NE(card_response1, card_response2);
805 card_response2.expiry_year = base::ASCIIToUTF16("72");
806 EXPECT_NE(card_response1, card_response2);
807 card_response2.expiry_year = base::ASCIIToUTF16("27");
808 EXPECT_EQ(card_response1, card_response2);
809
810 card_response1.expiry_year = base::ASCIIToUTF16("123");
811 EXPECT_NE(card_response1, card_response2);
812 card_response2.expiry_year = base::ASCIIToUTF16("999");
813 EXPECT_NE(card_response1, card_response2);
814 card_response2.expiry_year = base::ASCIIToUTF16("123");
815 EXPECT_EQ(card_response1, card_response2);
816
817 PaymentAddress billing_address1;
818 billing_address1.postal_code = base::ASCIIToUTF16("90210");
819 PaymentAddress billing_address2;
820 billing_address2.postal_code = base::ASCIIToUTF16("01209");
821 card_response1.billing_address = billing_address1;
822 EXPECT_NE(card_response1, card_response2);
823 card_response2.billing_address = billing_address2;
824 EXPECT_NE(card_response1, card_response2);
825 card_response2.billing_address = billing_address1;
826 EXPECT_EQ(card_response1, card_response2);
827 }
828
829 // Tests that two payment response objects are not equal if their property 677 // Tests that two payment response objects are not equal if their property
830 // values differ or one is missing a value present in the other, and equal 678 // values differ or one is missing a value present in the other, and equal
831 // otherwise. Doesn't test all properties of child objects, relying instead on 679 // otherwise. Doesn't test all properties of child objects, relying instead on
832 // their respective tests. 680 // their respective tests.
833 TEST(PaymentRequestTest, PaymentResponseEquality) { 681 TEST(PaymentRequestTest, PaymentResponseEquality) {
834 PaymentResponse response1; 682 PaymentResponse response1;
835 PaymentResponse response2; 683 PaymentResponse response2;
836 EXPECT_EQ(response1, response2); 684 EXPECT_EQ(response1, response2);
837 685
838 response1.method_name = base::ASCIIToUTF16("Visa"); 686 response1.method_name = base::ASCIIToUTF16("Visa");
839 EXPECT_NE(response1, response2); 687 EXPECT_NE(response1, response2);
840 response2.method_name = base::ASCIIToUTF16("Mastercard"); 688 response2.method_name = base::ASCIIToUTF16("Mastercard");
841 EXPECT_NE(response1, response2); 689 EXPECT_NE(response1, response2);
842 response2.method_name = base::ASCIIToUTF16("Visa"); 690 response2.method_name = base::ASCIIToUTF16("Visa");
843 EXPECT_EQ(response1, response2); 691 EXPECT_EQ(response1, response2);
844 692
845 BasicCardResponse card_response1; 693 payments::BasicCardResponse card_response1;
846 card_response1.card_number = base::ASCIIToUTF16("1234"); 694 card_response1.card_number = base::ASCIIToUTF16("1234");
847 BasicCardResponse card_response2; 695 payments::BasicCardResponse card_response2;
848 card_response2.card_number = base::ASCIIToUTF16("8888"); 696 card_response2.card_number = base::ASCIIToUTF16("8888");
849 response1.details = card_response1; 697 response1.details = card_response1;
850 EXPECT_NE(response1, response2); 698 EXPECT_NE(response1, response2);
851 response2.details = card_response2; 699 response2.details = card_response2;
852 EXPECT_NE(response1, response2); 700 EXPECT_NE(response1, response2);
853 response2.details = card_response1; 701 response2.details = card_response1;
854 EXPECT_EQ(response1, response2); 702 EXPECT_EQ(response1, response2);
855 } 703 }
856 704
857 } // namespace web 705 } // namespace web
OLDNEW
« no previous file with comments | « ios/web/payments/payment_request.cc ('k') | ios/web/public/payments/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698