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/payment_request_coordinator.h" | 5 #import "ios/chrome/browser/ui/payments/payment_request_coordinator.h" |
6 | 6 |
7 #include "base/mac/foundation_util.h" | 7 #include "base/mac/foundation_util.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/test/ios/wait_util.h" | 10 #include "base/test/ios/wait_util.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 #endif | 31 #endif |
32 | 32 |
33 @interface PaymentRequestCoordinatorDelegateMock< | 33 @interface PaymentRequestCoordinatorDelegateMock< |
34 PaymentRequestCoordinatorDelegate>:OCMockComplexTypeHelper | 34 PaymentRequestCoordinatorDelegate>:OCMockComplexTypeHelper |
35 @end | 35 @end |
36 | 36 |
37 @implementation PaymentRequestCoordinatorDelegateMock | 37 @implementation PaymentRequestCoordinatorDelegateMock |
38 | 38 |
39 typedef void (^mock_coordinator_cancel)(PaymentRequestCoordinator*); | 39 typedef void (^mock_coordinator_cancel)(PaymentRequestCoordinator*); |
40 typedef void (^mock_coordinator_complete)(PaymentRequestCoordinator*, | 40 typedef void (^mock_coordinator_complete)(PaymentRequestCoordinator*, |
41 PaymentRequest*, | |
42 const autofill::CreditCard&, | 41 const autofill::CreditCard&, |
43 const base::string16&); | 42 const base::string16&); |
44 typedef void (^mock_coordinator_select_shipping_address)( | 43 typedef void (^mock_coordinator_select_shipping_address)( |
45 PaymentRequestCoordinator*, | 44 PaymentRequestCoordinator*, |
46 payments::PaymentAddress); | 45 payments::PaymentAddress); |
47 typedef void (^mock_coordinator_select_shipping_option)( | 46 typedef void (^mock_coordinator_select_shipping_option)( |
48 PaymentRequestCoordinator*, | 47 PaymentRequestCoordinator*, |
49 web::PaymentShippingOption); | 48 web::PaymentShippingOption); |
50 | 49 |
51 - (void)paymentRequestCoordinatorDidCancel: | 50 - (void)paymentRequestCoordinatorDidCancel: |
52 (PaymentRequestCoordinator*)coordinator { | 51 (PaymentRequestCoordinator*)coordinator { |
53 return static_cast<mock_coordinator_cancel>([self blockForSelector:_cmd])( | 52 return static_cast<mock_coordinator_cancel>([self blockForSelector:_cmd])( |
54 coordinator); | 53 coordinator); |
55 } | 54 } |
56 | 55 |
57 - (void)paymentRequestCoordinator:(PaymentRequestCoordinator*)coordinator | 56 - (void)paymentRequestCoordinator:(PaymentRequestCoordinator*)coordinator |
58 didCompletePaymentRequest:(PaymentRequest*)paymentRequest | 57 didCompletePaymentRequestWithCard:(const autofill::CreditCard&)card |
59 card:(const autofill::CreditCard&)card | 58 verificationCode:(const base::string16&)verificationCode { |
60 verificationCode:(const base::string16&)verificationCode { | |
61 return static_cast<mock_coordinator_complete>([self blockForSelector:_cmd])( | 59 return static_cast<mock_coordinator_complete>([self blockForSelector:_cmd])( |
62 coordinator, paymentRequest, card, verificationCode); | 60 coordinator, card, verificationCode); |
63 } | 61 } |
64 | 62 |
65 - (void)paymentRequestCoordinator:(PaymentRequestCoordinator*)coordinator | 63 - (void)paymentRequestCoordinator:(PaymentRequestCoordinator*)coordinator |
66 didSelectShippingAddress:(payments::PaymentAddress)shippingAddress { | 64 didSelectShippingAddress:(payments::PaymentAddress)shippingAddress { |
67 return static_cast<mock_coordinator_select_shipping_address>( | 65 return static_cast<mock_coordinator_select_shipping_address>( |
68 [self blockForSelector:_cmd])(coordinator, shippingAddress); | 66 [self blockForSelector:_cmd])(coordinator, shippingAddress); |
69 } | 67 } |
70 | 68 |
71 - (void)paymentRequestCoordinator:(PaymentRequestCoordinator*)coordinator | 69 - (void)paymentRequestCoordinator:(PaymentRequestCoordinator*)coordinator |
72 didSelectShippingOption:(web::PaymentShippingOption)shippingOption { | 70 didSelectShippingOption:(web::PaymentShippingOption)shippingOption { |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 [scoped_key_window_.Get() setRootViewController:base_view_controller]; | 142 [scoped_key_window_.Get() setRootViewController:base_view_controller]; |
145 | 143 |
146 PaymentRequestCoordinator* coordinator = [[PaymentRequestCoordinator alloc] | 144 PaymentRequestCoordinator* coordinator = [[PaymentRequestCoordinator alloc] |
147 initWithBaseViewController:base_view_controller]; | 145 initWithBaseViewController:base_view_controller]; |
148 [coordinator setPaymentRequest:payment_request_.get()]; | 146 [coordinator setPaymentRequest:payment_request_.get()]; |
149 | 147 |
150 id delegate = [OCMockObject | 148 id delegate = [OCMockObject |
151 mockForProtocol:@protocol(PaymentMethodSelectionCoordinatorDelegate)]; | 149 mockForProtocol:@protocol(PaymentMethodSelectionCoordinatorDelegate)]; |
152 id delegate_mock([[PaymentRequestCoordinatorDelegateMock alloc] | 150 id delegate_mock([[PaymentRequestCoordinatorDelegateMock alloc] |
153 initWithRepresentedObject:delegate]); | 151 initWithRepresentedObject:delegate]); |
154 SEL selector = @selector(paymentRequestCoordinator:didCompletePaymentRequest: | 152 SEL selector = |
155 card:verificationCode:); | 153 @selector(paymentRequestCoordinator:didCompletePaymentRequestWithCard |
| 154 :verificationCode:); |
156 [delegate_mock onSelector:selector | 155 [delegate_mock onSelector:selector |
157 callBlockExpectation:^(PaymentRequestCoordinator* callerCoordinator, | 156 callBlockExpectation:^(PaymentRequestCoordinator* callerCoordinator, |
158 PaymentRequest* paymentRequest, | |
159 const autofill::CreditCard& card, | 157 const autofill::CreditCard& card, |
160 const base::string16& verificationCode) { | 158 const base::string16& verificationCode) { |
161 EXPECT_EQ(credit_card_, card); | 159 EXPECT_EQ(credit_card_, card); |
162 EXPECT_EQ(base::ASCIIToUTF16("123"), verificationCode); | 160 EXPECT_EQ(base::ASCIIToUTF16("123"), verificationCode); |
163 EXPECT_EQ(coordinator, callerCoordinator); | 161 EXPECT_EQ(coordinator, callerCoordinator); |
164 }]; | 162 }]; |
165 [coordinator setDelegate:delegate_mock]; | 163 [coordinator setDelegate:delegate_mock]; |
166 | 164 |
167 // Call the card unmasking delegate method. | 165 // Call the card unmasking delegate method. |
168 [coordinator fullCardRequestDidSucceedWithCard:credit_card_ | 166 [coordinator fullCardRequestDidSucceedWithCard:credit_card_ |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 [coordinator setDelegate:delegate_mock]; | 274 [coordinator setDelegate:delegate_mock]; |
277 [coordinator setBrowserState:browser_state_.get()]; | 275 [coordinator setBrowserState:browser_state_.get()]; |
278 | 276 |
279 [coordinator start]; | 277 [coordinator start]; |
280 // Short delay to allow animation to complete. | 278 // Short delay to allow animation to complete. |
281 base::test::ios::SpinRunLoopWithMaxDelay(base::TimeDelta::FromSecondsD(1)); | 279 base::test::ios::SpinRunLoopWithMaxDelay(base::TimeDelta::FromSecondsD(1)); |
282 | 280 |
283 // Call the controller delegate method. | 281 // Call the controller delegate method. |
284 [coordinator paymentRequestViewControllerDidCancel:nil]; | 282 [coordinator paymentRequestViewControllerDidCancel:nil]; |
285 } | 283 } |
OLD | NEW |