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

Side by Side Diff: ios/chrome/browser/ui/payments/address_edit_coordinator_unittest.mm

Issue 2944083003: [Payment Request] Fixes modally presented editors (Closed)
Patch Set: Addressed comment Created 3 years, 6 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
OLDNEW
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/address_edit_coordinator.h" 5 #import "ios/chrome/browser/ui/payments/address_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"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 AddressEditCoordinator* coordinator = [[AddressEditCoordinator alloc] 137 AddressEditCoordinator* coordinator = [[AddressEditCoordinator alloc]
138 initWithBaseViewController:base_view_controller]; 138 initWithBaseViewController:base_view_controller];
139 [coordinator setPaymentRequest:payment_request_.get()]; 139 [coordinator setPaymentRequest:payment_request_.get()];
140 140
141 EXPECT_EQ(nil, base_view_controller.presentedViewController); 141 EXPECT_EQ(nil, base_view_controller.presentedViewController);
142 142
143 [coordinator start]; 143 [coordinator start];
144 // Spin the run loop to trigger the animation. 144 // Spin the run loop to trigger the animation.
145 base::test::ios::SpinRunLoopWithMaxDelay(base::TimeDelta::FromSecondsD(1.0)); 145 base::test::ios::SpinRunLoopWithMaxDelay(base::TimeDelta::FromSecondsD(1.0));
146 EXPECT_TRUE([base_view_controller.presentedViewController 146 EXPECT_TRUE([base_view_controller.presentedViewController
147 isMemberOfClass:[UINavigationController class]]);
148 UINavigationController* navigation_controller =
149 base::mac::ObjCCastStrict<UINavigationController>(
150 base_view_controller.presentedViewController);
151 EXPECT_TRUE([navigation_controller.visibleViewController
147 isMemberOfClass:[PaymentRequestEditViewController class]]); 152 isMemberOfClass:[PaymentRequestEditViewController class]]);
148 153
149 [coordinator stop]; 154 [coordinator stop];
150 // Wait until the animation completes and the presented view controller is 155 // Wait until the animation completes and the presented view controller is
151 // dismissed. 156 // dismissed.
152 base::test::ios::WaitUntilCondition(^bool() { 157 base::test::ios::WaitUntilCondition(^bool() {
153 return !base_view_controller.presentedViewController; 158 return !base_view_controller.presentedViewController;
154 }); 159 });
155 EXPECT_EQ(nil, base_view_controller.presentedViewController); 160 EXPECT_EQ(nil, base_view_controller.presentedViewController);
156 } 161 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 EXPECT_CALL(personal_data_manager_, 199 EXPECT_CALL(personal_data_manager_,
195 AddProfile(ProfileMatches("John Doe", "CA" /* Canada */, "Quebec", 200 AddProfile(ProfileMatches("John Doe", "CA" /* Canada */, "Quebec",
196 "16502111111"))) 201 "16502111111")))
197 .Times(1); 202 .Times(1);
198 // No autofill profile should get updated in the PersonalDataManager. 203 // No autofill profile should get updated in the PersonalDataManager.
199 EXPECT_CALL(personal_data_manager_, UpdateProfile(_)).Times(0); 204 EXPECT_CALL(personal_data_manager_, UpdateProfile(_)).Times(0);
200 // No autofill profile should get invalidated in PaymentsProfileComparator. 205 // No autofill profile should get invalidated in PaymentsProfileComparator.
201 EXPECT_CALL(*profile_comparator_, Invalidate(_)).Times(0); 206 EXPECT_CALL(*profile_comparator_, Invalidate(_)).Times(0);
202 207
203 // Call the controller delegate method. 208 // Call the controller delegate method.
209 EXPECT_TRUE([base_view_controller.presentedViewController
210 isMemberOfClass:[UINavigationController class]]);
211 UINavigationController* navigation_controller =
212 base::mac::ObjCCastStrict<UINavigationController>(
213 base_view_controller.presentedViewController);
204 PaymentRequestEditViewController* view_controller = 214 PaymentRequestEditViewController* view_controller =
205 base::mac::ObjCCastStrict<PaymentRequestEditViewController>( 215 base::mac::ObjCCastStrict<PaymentRequestEditViewController>(
206 base_view_controller.presentedViewController); 216 navigation_controller.visibleViewController);
207 [coordinator paymentRequestEditViewController:view_controller 217 [coordinator paymentRequestEditViewController:view_controller
208 didFinishEditingFields:GetEditorFields()]; 218 didFinishEditingFields:GetEditorFields()];
209 219
210 EXPECT_OCMOCK_VERIFY(delegate); 220 EXPECT_OCMOCK_VERIFY(delegate);
211 } 221 }
212 222
213 // Tests that calling the view controller delegate method which signals that the 223 // Tests that calling the view controller delegate method which signals that the
214 // user has finished editing an address, causes the the corresponding 224 // user has finished editing an address, causes the the corresponding
215 // coordinator delegate method to get called. The address should not get 225 // coordinator delegate method to get called. The address should not get
216 // re-added to the PaymentRequest instance or the PersonalDataManager. However, 226 // re-added to the PaymentRequest instance or the PersonalDataManager. However,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 UpdateProfile(ProfileMatches("John Doe", "CA" /* Canada */, 263 UpdateProfile(ProfileMatches("John Doe", "CA" /* Canada */,
254 "Quebec", "16502111111"))) 264 "Quebec", "16502111111")))
255 .Times(1); 265 .Times(1);
256 // Expect an autofill profile to be invalidated in PaymentsProfileComparator. 266 // Expect an autofill profile to be invalidated in PaymentsProfileComparator.
257 EXPECT_CALL(*profile_comparator_, 267 EXPECT_CALL(*profile_comparator_,
258 Invalidate(ProfileMatches("John Doe", "CA" /* Canada */, "Quebec", 268 Invalidate(ProfileMatches("John Doe", "CA" /* Canada */, "Quebec",
259 "16502111111"))) 269 "16502111111")))
260 .Times(1); 270 .Times(1);
261 271
262 // Call the controller delegate method. 272 // Call the controller delegate method.
273 EXPECT_TRUE([base_view_controller.presentedViewController
274 isMemberOfClass:[UINavigationController class]]);
275 UINavigationController* navigation_controller =
276 base::mac::ObjCCastStrict<UINavigationController>(
277 base_view_controller.presentedViewController);
263 PaymentRequestEditViewController* view_controller = 278 PaymentRequestEditViewController* view_controller =
264 base::mac::ObjCCastStrict<PaymentRequestEditViewController>( 279 base::mac::ObjCCastStrict<PaymentRequestEditViewController>(
265 base_view_controller.presentedViewController); 280 navigation_controller.visibleViewController);
266 [coordinator paymentRequestEditViewController:view_controller 281 [coordinator paymentRequestEditViewController:view_controller
267 didFinishEditingFields:GetEditorFields()]; 282 didFinishEditingFields:GetEditorFields()];
268 283
269 EXPECT_OCMOCK_VERIFY(delegate); 284 EXPECT_OCMOCK_VERIFY(delegate);
270 } 285 }
271 286
272 // Tests that calling the view controller delegate method which signals that the 287 // Tests that calling the view controller delegate method which signals that the
273 // user has chosen to cancel creating/editing an address, causes the 288 // user has chosen to cancel creating/editing an address, causes the
274 // corresponding coordinator delegate method to get called. 289 // corresponding coordinator delegate method to get called.
275 TEST_F(PaymentRequestAddressEditCoordinatorTest, DidCancel) { 290 TEST_F(PaymentRequestAddressEditCoordinatorTest, DidCancel) {
(...skipping 12 matching lines...) Expand all
288 [coordinator setDelegate:delegate]; 303 [coordinator setDelegate:delegate];
289 304
290 EXPECT_EQ(nil, base_view_controller.presentedViewController); 305 EXPECT_EQ(nil, base_view_controller.presentedViewController);
291 306
292 [coordinator start]; 307 [coordinator start];
293 // Spin the run loop to trigger the animation. 308 // Spin the run loop to trigger the animation.
294 base::test::ios::SpinRunLoopWithMaxDelay(base::TimeDelta::FromSecondsD(1.0)); 309 base::test::ios::SpinRunLoopWithMaxDelay(base::TimeDelta::FromSecondsD(1.0));
295 EXPECT_NE(nil, base_view_controller.presentedViewController); 310 EXPECT_NE(nil, base_view_controller.presentedViewController);
296 311
297 // Call the controller delegate method. 312 // Call the controller delegate method.
313 EXPECT_TRUE([base_view_controller.presentedViewController
314 isMemberOfClass:[UINavigationController class]]);
315 UINavigationController* navigation_controller =
316 base::mac::ObjCCastStrict<UINavigationController>(
317 base_view_controller.presentedViewController);
298 PaymentRequestEditViewController* view_controller = 318 PaymentRequestEditViewController* view_controller =
299 base::mac::ObjCCastStrict<PaymentRequestEditViewController>( 319 base::mac::ObjCCastStrict<PaymentRequestEditViewController>(
300 base_view_controller.presentedViewController); 320 navigation_controller.visibleViewController);
301 [coordinator paymentRequestEditViewControllerDidCancel:view_controller]; 321 [coordinator paymentRequestEditViewControllerDidCancel:view_controller];
302 322
303 EXPECT_OCMOCK_VERIFY(delegate); 323 EXPECT_OCMOCK_VERIFY(delegate);
304 } 324 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698