OLD | NEW |
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 #import "ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h" | 5 #import "ios/chrome/browser/ui/payments/credit_card_edit_coordinator.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/mac/foundation_util.h" | 8 #include "base/mac/foundation_util.h" |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
11 #include "base/test/ios/wait_util.h" | 11 #include "base/test/ios/wait_util.h" |
12 #include "base/test/scoped_task_environment.h" | 12 #include "base/test/scoped_task_environment.h" |
13 #include "components/autofill/core/browser/credit_card.h" | 13 #include "components/autofill/core/browser/credit_card.h" |
14 #include "components/autofill/core/browser/test_personal_data_manager.h" | 14 #include "components/autofill/core/browser/test_personal_data_manager.h" |
15 #include "ios/chrome/browser/payments/payment_request.h" | |
16 #include "ios/chrome/browser/payments/payment_request_test_util.h" | 15 #include "ios/chrome/browser/payments/payment_request_test_util.h" |
| 16 #include "ios/chrome/browser/payments/test_payment_request.h" |
17 #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" | 17 #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" |
18 #import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" | 18 #import "ios/chrome/browser/ui/payments/payment_request_editor_field.h" |
19 #import "ios/chrome/test/scoped_key_window.h" | 19 #import "ios/chrome/test/scoped_key_window.h" |
20 #include "testing/gmock/include/gmock/gmock.h" | 20 #include "testing/gmock/include/gmock/gmock.h" |
21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
22 #include "testing/platform_test.h" | 22 #include "testing/platform_test.h" |
23 #include "third_party/ocmock/OCMock/OCMock.h" | 23 #include "third_party/ocmock/OCMock/OCMock.h" |
24 #include "third_party/ocmock/gtest_support.h" | 24 #include "third_party/ocmock/gtest_support.h" |
25 | 25 |
26 #if !defined(__has_feature) || !__has_feature(objc_arc) | 26 #if !defined(__has_feature) || !__has_feature(objc_arc) |
27 #error "This file requires ARC support." | 27 #error "This file requires ARC support." |
28 #endif | 28 #endif |
29 | 29 |
30 namespace { | 30 namespace { |
31 class MockTestPersonalDataManager : public autofill::TestPersonalDataManager { | 31 class MockTestPersonalDataManager : public autofill::TestPersonalDataManager { |
32 public: | 32 public: |
33 MockTestPersonalDataManager() : TestPersonalDataManager() {} | 33 MockTestPersonalDataManager() : TestPersonalDataManager() {} |
34 MOCK_METHOD1(AddCreditCard, void(const autofill::CreditCard&)); | 34 MOCK_METHOD1(AddCreditCard, void(const autofill::CreditCard&)); |
35 MOCK_METHOD1(UpdateCreditCard, void(const autofill::CreditCard&)); | 35 MOCK_METHOD1(UpdateCreditCard, void(const autofill::CreditCard&)); |
36 }; | 36 }; |
37 | 37 |
38 class MockPaymentRequest : public PaymentRequest { | 38 class MockPaymentRequest : public TestPaymentRequest { |
39 public: | 39 public: |
40 MockPaymentRequest(web::PaymentRequest web_payment_request, | 40 MockPaymentRequest(web::PaymentRequest web_payment_request, |
41 autofill::PersonalDataManager* personal_data_manager, | 41 autofill::PersonalDataManager* personal_data_manager) |
42 id<PaymentRequestUIDelegate> payment_request_ui_delegate) | 42 : TestPaymentRequest(web_payment_request, personal_data_manager) {} |
43 : PaymentRequest(web_payment_request, | |
44 personal_data_manager, | |
45 payment_request_ui_delegate) {} | |
46 MOCK_METHOD1(AddCreditCard, | 43 MOCK_METHOD1(AddCreditCard, |
47 autofill::CreditCard*(const autofill::CreditCard&)); | 44 autofill::CreditCard*(const autofill::CreditCard&)); |
48 }; | 45 }; |
49 | 46 |
50 MATCHER_P5(CreditCardMatches, | 47 MATCHER_P5(CreditCardMatches, |
51 credit_card_number, | 48 credit_card_number, |
52 cardholder_name, | 49 cardholder_name, |
53 expiration_month, | 50 expiration_month, |
54 expiration_year, | 51 expiration_year, |
55 billing_address_id, | 52 billing_address_id, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 } | 101 } |
105 | 102 |
106 using ::testing::_; | 103 using ::testing::_; |
107 } // namespace | 104 } // namespace |
108 | 105 |
109 class PaymentRequestCreditCardEditCoordinatorTest : public PlatformTest { | 106 class PaymentRequestCreditCardEditCoordinatorTest : public PlatformTest { |
110 protected: | 107 protected: |
111 PaymentRequestCreditCardEditCoordinatorTest() { | 108 PaymentRequestCreditCardEditCoordinatorTest() { |
112 payment_request_ = base::MakeUnique<MockPaymentRequest>( | 109 payment_request_ = base::MakeUnique<MockPaymentRequest>( |
113 payment_request_test_util::CreateTestWebPaymentRequest(), | 110 payment_request_test_util::CreateTestWebPaymentRequest(), |
114 &personal_data_manager_, nil); | 111 &personal_data_manager_); |
115 } | 112 } |
116 | 113 |
117 base::test::ScopedTaskEnvironment scoped_task_evironment_; | 114 base::test::ScopedTaskEnvironment scoped_task_evironment_; |
118 | 115 |
119 MockTestPersonalDataManager personal_data_manager_; | 116 MockTestPersonalDataManager personal_data_manager_; |
120 std::unique_ptr<MockPaymentRequest> payment_request_; | 117 std::unique_ptr<MockPaymentRequest> payment_request_; |
121 }; | 118 }; |
122 | 119 |
123 // Tests that invoking start and stop on the coordinator presents and dismisses | 120 // Tests that invoking start and stop on the coordinator presents and dismisses |
124 // the credit card edit view controller, respectively. | 121 // the credit card edit view controller, respectively. |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 UINavigationController* navigation_controller = | 352 UINavigationController* navigation_controller = |
356 base::mac::ObjCCastStrict<UINavigationController>( | 353 base::mac::ObjCCastStrict<UINavigationController>( |
357 base_view_controller.presentedViewController); | 354 base_view_controller.presentedViewController); |
358 PaymentRequestEditViewController* view_controller = | 355 PaymentRequestEditViewController* view_controller = |
359 base::mac::ObjCCastStrict<PaymentRequestEditViewController>( | 356 base::mac::ObjCCastStrict<PaymentRequestEditViewController>( |
360 navigation_controller.visibleViewController); | 357 navigation_controller.visibleViewController); |
361 [coordinator paymentRequestEditViewControllerDidCancel:view_controller]; | 358 [coordinator paymentRequestEditViewControllerDidCancel:view_controller]; |
362 | 359 |
363 EXPECT_OCMOCK_VERIFY(delegate); | 360 EXPECT_OCMOCK_VERIFY(delegate); |
364 } | 361 } |
OLD | NEW |