| 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]);
|
|
|