| 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 |