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

Unified Diff: ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm

Issue 2826593005: [Payment Request] Sever card summary section in the credit card edit form (Closed)
Patch Set: Addressed comments Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm
diff --git a/ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm b/ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm
index 3324b133bf15943b026b00460304c52586d284d9..66d4588924f6e2be0d5d0baeae6138f379ab1045 100644
--- a/ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm
+++ b/ios/chrome/browser/payments/credit_card_edit_view_controller_unittest.mm
@@ -7,9 +7,7 @@
#include "base/mac/foundation_util.h"
#include "base/memory/ptr_util.h"
#include "components/autofill/core/browser/field_types.h"
-#include "components/autofill/core/browser/test_personal_data_manager.h"
-#import "ios/chrome/browser/payments/credit_card_edit_mediator.h"
-#include "ios/chrome/browser/payments/payment_request.h"
+#import "ios/chrome/browser/payments/cells/payment_method_item.h"
#import "ios/chrome/browser/payments/payment_request_editor_field.h"
#include "ios/chrome/browser/payments/payment_request_test_util.h"
#import "ios/chrome/browser/ui/autofill/autofill_ui_type.h"
@@ -17,6 +15,7 @@
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item.h"
+#import "ios/chrome/browser/ui/collection_view/cells/test_utils.h"
#import "ios/chrome/browser/ui/collection_view/collection_view_controller_test.h"
#include "ios/web/public/payments/payment_request.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -26,13 +25,17 @@
#endif
@interface TestCreditCardEditViewControllerMediator
- : CreditCardEditViewControllerMediator
+ : NSObject<CreditCardEditViewControllerDataSource>
@end
@implementation TestCreditCardEditViewControllerMediator
-NSArray<EditorField*>* editorFields() {
+- (CollectionViewItem*)serverCardSummaryItem {
+ return [[PaymentMethodItem alloc] init];
+}
+
+- (NSArray<EditorField*>*)editorFields {
return @[
[[EditorField alloc] initWithAutofillUIType:AutofillUITypeCreditCardNumber
label:@"Credit Card Number"
@@ -54,24 +57,25 @@ NSArray<EditorField*>* editorFields() {
];
}
+- (NSString*)billingAddressLabelForProfileWithGUID:(NSString*)profileGUID {
+ return nil;
+}
+
+- (UIImage*)cardTypeIconFromCardNumber:(NSString*)cardNumber {
+ return nil;
+}
+
@end
class PaymentRequestCreditCardEditViewControllerTest
: public CollectionViewControllerTest {
protected:
CollectionViewController* InstantiateController() override {
- payment_request_ = base::MakeUnique<PaymentRequest>(
- payment_request_test_util::CreateTestWebPaymentRequest(),
- &personal_data_manager_);
-
- CreditCardEditViewControllerMediator* mediator =
- [[CreditCardEditViewControllerMediator alloc]
- initWithPaymentRequest:payment_request_.get()
- creditCard:nil];
+ mediator_ = [[TestCreditCardEditViewControllerMediator alloc] init];
CreditCardEditViewController* viewController =
[[CreditCardEditViewController alloc] init];
- [viewController setDataSource:mediator];
+ [viewController setDataSource:mediator_];
return viewController;
}
@@ -80,8 +84,7 @@ class PaymentRequestCreditCardEditViewControllerTest
controller());
}
- autofill::TestPersonalDataManager personal_data_manager_;
- std::unique_ptr<PaymentRequest> payment_request_;
+ TestCreditCardEditViewControllerMediator* mediator_ = nil;
};
// Tests that the correct number of items are displayed after loading the model.
@@ -94,14 +97,17 @@ TEST_F(PaymentRequestCreditCardEditViewControllerTest, TestModel) {
[GetCreditCardEditViewController() loadModel];
// There is one section for every textfield (there are four textfields in
- // total), one for the footer, and one for the billing address ID item.
- ASSERT_EQ(6, NumberOfSections());
+ // total), one for the server card summary section, one for the footer, and
+ // one for the billing address ID item.
+ ASSERT_EQ(7, NumberOfSections());
- // The first four sections have only one item of the type AutofillEditItem.
+ // The server card summary section is the first section and has one item of
+ // the type PaymentMethodItem.
ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(0)));
id item = GetCollectionViewItem(0, 0);
- EXPECT_TRUE([item isMemberOfClass:[AutofillEditItem class]]);
+ EXPECT_TRUE([item isMemberOfClass:[PaymentMethodItem class]]);
+ // The next four sections have only one item of the type AutofillEditItem.
ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(1)));
item = GetCollectionViewItem(1, 0);
EXPECT_TRUE([item isMemberOfClass:[AutofillEditItem class]]);
@@ -114,10 +120,14 @@ TEST_F(PaymentRequestCreditCardEditViewControllerTest, TestModel) {
item = GetCollectionViewItem(3, 0);
EXPECT_TRUE([item isMemberOfClass:[AutofillEditItem class]]);
- // The billing address section contains one item which is of the type
- // CollectionViewDetailItem.
ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(4)));
item = GetCollectionViewItem(4, 0);
+ EXPECT_TRUE([item isMemberOfClass:[AutofillEditItem class]]);
+
+ // The billing address section contains one item which is of the type
+ // CollectionViewDetailItem.
+ ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(5)));
+ item = GetCollectionViewItem(5, 0);
EXPECT_TRUE([item isMemberOfClass:[CollectionViewDetailItem class]]);
CollectionViewDetailItem* billing_address_item = item;
EXPECT_EQ(MDCCollectionViewCellAccessoryDisclosureIndicator,
@@ -125,8 +135,8 @@ TEST_F(PaymentRequestCreditCardEditViewControllerTest, TestModel) {
// The footer section contains one item which is of the type
// CollectionViewFooterItem.
- ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(5)));
- item = GetCollectionViewItem(5, 0);
+ ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(6)));
+ item = GetCollectionViewItem(6, 0);
EXPECT_TRUE([item isMemberOfClass:[CollectionViewFooterItem class]]);
}
@@ -143,12 +153,12 @@ TEST_F(PaymentRequestCreditCardEditViewControllerTest,
// There is an extra section containing a switch that allows the user to save
// the credit card locally.
- ASSERT_EQ(7, NumberOfSections());
+ ASSERT_EQ(8, NumberOfSections());
// The switch section is the last section before the footer and has one item
// of the type CollectionViewSwitchItem. The switch is on by defualt.
- ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(5)));
- id item = GetCollectionViewItem(5, 0);
+ ASSERT_EQ(1U, static_cast<unsigned int>(NumberOfItemsInSection(6)));
+ id item = GetCollectionViewItem(6, 0);
EXPECT_TRUE([item isMemberOfClass:[CollectionViewSwitchItem class]]);
CollectionViewSwitchItem* switch_item = item;
EXPECT_EQ(YES, [switch_item isOn]);

Powered by Google App Engine
This is Rietveld 408576698