diff --git a/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSource.swift b/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSource.swift index 8993d9e686..a822104618 100644 --- a/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSource.swift +++ b/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSource.swift @@ -46,12 +46,29 @@ internal final class PledgePaymentMethodsDataSource: ValueCellDataSource { } self.set( - values: [()], + values: [false], cellClass: PledgePaymentMethodAddCell.self, inSection: PaymentMethodsTableViewSection.addNewCard.rawValue ) } + func updateAddNewPaymentCardLoad(state: Bool) { + self.set( + values: [state], + cellClass: PledgePaymentMethodAddCell.self, + inSection: PaymentMethodsTableViewSection.addNewCard.rawValue + ) + } + + func isLoadingStateCell(indexPath: IndexPath) -> Bool { + guard let value = self[indexPath] as? Bool, + value else { + return false + } + + return true + } + override func configureCell(tableCell cell: UITableViewCell, withValue value: Any) { switch (cell, value) { case let ( @@ -64,7 +81,7 @@ internal final class PledgePaymentMethodsDataSource: ValueCellDataSource { value as PaymentSheetPaymentMethodCellData ): cell.configureWith(value: value) - case let (cell as PledgePaymentMethodAddCell, value as Void): + case let (cell as PledgePaymentMethodAddCell, value as Bool): cell.configureWith(value: value) case let (cell as PledgePaymentMethodLoadingCell, value as Void): cell.configureWith(value: value) diff --git a/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSourceTests.swift b/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSourceTests.swift index 6ff650cb52..8206140aff 100644 --- a/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSourceTests.swift +++ b/Kickstarter-iOS/DataSources/PledgePaymentMethodsDataSourceTests.swift @@ -135,4 +135,17 @@ final class PledgePaymentMethodsDataSourceTests: XCTestCase { self.dataSource.numberOfItems(in: PaymentMethodsTableViewSection.addNewCard.rawValue) ) } + + func testLoadingState_AddNewCardButton() { + self.dataSource.load([], paymentSheetCards: [], isLoading: true) + self.dataSource.updateAddNewPaymentCardLoad(state: true) + + let addNewCardIndexPath = IndexPath(row: 0, section: 1) + + XCTAssertTrue(self.dataSource.isLoadingStateCell(indexPath: addNewCardIndexPath)) + + self.dataSource.updateAddNewPaymentCardLoad(state: false) + + XCTAssertFalse(self.dataSource.isLoadingStateCell(indexPath: addNewCardIndexPath)) + } } diff --git a/Kickstarter-iOS/Views/Cells/PledgePaymentMethodAddCell.swift b/Kickstarter-iOS/Views/Cells/PledgePaymentMethodAddCell.swift index 44bfc6e00d..b1f20ca535 100644 --- a/Kickstarter-iOS/Views/Cells/PledgePaymentMethodAddCell.swift +++ b/Kickstarter-iOS/Views/Cells/PledgePaymentMethodAddCell.swift @@ -9,6 +9,20 @@ final class PledgePaymentMethodAddCell: UITableViewCell, ValueCell { private lazy var selectionView: UIView = { UIView(frame: .zero) }() private lazy var addButton: UIButton = { UIButton(type: .custom) }() + private lazy var containerView: UIStackView = { + UIStackView(frame: .zero) + |> \.translatesAutoresizingMaskIntoConstraints .~ false + }() + + private lazy var activityIndicator: UIActivityIndicatorView = { + let indicator = UIActivityIndicatorView(frame: .zero) + |> \.translatesAutoresizingMaskIntoConstraints .~ false + indicator.startAnimating() + return indicator + }() + + private let viewModel: PledgePaymentMethodAddCellViewModelType = PledgePaymentMethodAddCellViewModel() + // MARK: - Lifecycle override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { @@ -23,21 +37,32 @@ final class PledgePaymentMethodAddCell: UITableViewCell, ValueCell { fatalError("init(coder:) has not been implemented") } + // MARK: - View model + + override func bindViewModel() { + self.activityIndicator.rac.animating = self.viewModel.outputs.showLoading + self.addButton.rac.hidden = self.viewModel.outputs.showLoading + } + // MARK: - Configuration private func configureSubviews() { - _ = (self.addButton, self.contentView) + _ = (self.containerView, self.contentView) |> ksr_addSubviewToParent() } private func setupConstraints() { - _ = (self.addButton, self.contentView) + _ = ([self.activityIndicator, self.addButton], self.containerView) + |> ksr_addArrangedSubviewsToStackView() + + _ = (self.containerView, self.contentView) |> ksr_constrainViewToEdgesInParent() |> ksr_constrainViewToCenterInParent() - _ = self.addButton.heightAnchor.constraint(equalToConstant: Styles.grid(9)) - |> \.priority .~ .defaultHigh - |> \.isActive .~ true + NSLayoutConstraint.activate([ + self.activityIndicator.widthAnchor.constraint(equalToConstant: Styles.grid(9)), + self.containerView.heightAnchor.constraint(equalToConstant: Styles.grid(9)) + ]) } // MARK: - Styles @@ -53,18 +78,26 @@ final class PledgePaymentMethodAddCell: UITableViewCell, ValueCell { _ = self.addButton |> addButtonStyle + + _ = self.activityIndicator + |> activityIndicatorStyle + + _ = self.containerView + |> stackViewStyle } - func configureWith(value _: Void) {} + func configureWith(value flag: Bool) { + self.viewModel.inputs.configureWith(value: flag) + } } // MARK: - Styles private let addButtonStyle: ButtonStyle = { button in button - |> UIButton.lens.title(for: .normal) %~ { _ in Strings.New_payment_method() } |> UIButton.lens.titleLabel.font .~ UIFont.boldSystemFont(ofSize: 15) |> UIButton.lens.image(for: .normal) .~ Library.image(named: "icon-add-round-green") + |> UIButton.lens.title(for: .normal) %~ { _ in Strings.New_payment_method() } |> UIButton.lens.isUserInteractionEnabled .~ false |> UIButton.lens.titleColor(for: .normal) .~ .ksr_create_700 |> UIButton.lens.tintColor .~ .ksr_create_700 @@ -75,3 +108,17 @@ private let selectionViewStyle: ViewStyle = { view in view |> \.backgroundColor .~ .ksr_support_100 } + +private let activityIndicatorStyle: ActivityIndicatorStyle = { activityIndicator in + activityIndicator + |> \.color .~ UIColor.ksr_support_400 + |> \.hidesWhenStopped .~ true +} + +private let stackViewStyle: StackViewStyle = { stackView in + stackView + |> \.axis .~ .horizontal + |> \.alignment .~ .center + |> \.spacing .~ Styles.grid(0) + |> \.isLayoutMarginsRelativeArrangement .~ true +} diff --git a/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewController.swift b/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewController.swift index 0a3c6821f4..8fdd3ed561 100644 --- a/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewController.swift +++ b/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewController.swift @@ -10,11 +10,6 @@ protocol PledgePaymentMethodsViewControllerDelegate: AnyObject { _ viewController: PledgePaymentMethodsViewController, didSelectCreditCard paymentSource: PaymentSourceSelected ) - - func pledgePaymentMethodsViewController( - _ viewController: PledgePaymentMethodsViewController, - loading flag: Bool - ) } final class PledgePaymentMethodsViewController: UIViewController { @@ -137,12 +132,12 @@ final class PledgePaymentMethodsViewController: UIViewController { strongSelf.goToPaymentSheet(data: data) } - self.viewModel.outputs.showLoadingIndicatorView + self.viewModel.outputs.updateAddNewCardLoading .observeForUI() .observeValues { [weak self] showLoadingIndicator in guard let strongSelf = self else { return } - strongSelf.delegate?.pledgePaymentMethodsViewController(strongSelf, loading: showLoadingIndicator) + strongSelf.updateAddNewPaymentMethodButtonLoading(state: showLoadingIndicator) } } @@ -170,10 +165,10 @@ final class PledgePaymentMethodsViewController: UIViewController { configuration: data.configuration ) { [weak self] result in guard let strongSelf = self else { return } - strongSelf.delegate?.pledgePaymentMethodsViewController(strongSelf, loading: false) switch result { case let .failure(error): + strongSelf.viewModel.inputs.shouldCancelPaymentSheetAppearance(state: true) strongSelf.messageDisplayingDelegate? .pledgeViewController(strongSelf, didErrorWith: error.localizedDescription) case let .success(paymentSheetFlowController): @@ -188,9 +183,19 @@ final class PledgePaymentMethodsViewController: UIViewController { } private func confirmPaymentResult(with clientSecret: String) { + guard self.paymentSheetFlowController?.paymentOption != nil else { + self.viewModel.inputs.shouldCancelPaymentSheetAppearance(state: true) + + return + } + self.paymentSheetFlowController?.confirm(from: self) { [weak self] paymentResult in - guard let strongSelf = self, - let existingPaymentOption = strongSelf.paymentSheetFlowController?.paymentOption else { return } + + guard let strongSelf = self else { return } + + strongSelf.viewModel.inputs.shouldCancelPaymentSheetAppearance(state: true) + + guard let existingPaymentOption = strongSelf.paymentSheetFlowController?.paymentOption else { return } switch paymentResult { case .completed: @@ -205,6 +210,14 @@ final class PledgePaymentMethodsViewController: UIViewController { } } } + + private func updateAddNewPaymentMethodButtonLoading(state: Bool) { + self.dataSource.updateAddNewPaymentCardLoad(state: state) + + let addNewCardButtonSection = self.tableView.numberOfSections - 1 + + self.tableView.reloadSections([addNewCardButtonSection], with: .none) + } } // MARK: - AddNewCardViewControllerDelegate @@ -229,6 +242,9 @@ extension PledgePaymentMethodsViewController: AddNewCardViewControllerDelegate { extension PledgePaymentMethodsViewController: UITableViewDelegate { func tableView(_: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? { + guard !self.dataSource.isLoadingStateCell(indexPath: indexPath) else { + return nil + } return self.viewModel.inputs.willSelectRowAtIndexPath(indexPath) } @@ -238,3 +254,11 @@ extension PledgePaymentMethodsViewController: UITableViewDelegate { self.viewModel.inputs.didSelectRowAtIndexPath(indexPath) } } + +// MARK: - PaymentSheetAppearanceDelegate + +extension PledgePaymentMethodsViewController: PaymentSheetAppearanceDelegate { + func pledgeViewControllerPaymentSheet(_: PledgeViewController, hidden: Bool) { + self.viewModel.inputs.shouldCancelPaymentSheetAppearance(state: hidden) + } +} diff --git a/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewControllerTests.swift b/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewControllerTests.swift new file mode 100644 index 0000000000..bb74b04954 --- /dev/null +++ b/Kickstarter-iOS/Views/Controllers/PledgePaymentMethodsViewControllerTests.swift @@ -0,0 +1,115 @@ +@testable import Kickstarter_Framework +@testable import KsApi +@testable import Library +import Prelude +import UIKit + +final class PledgePaymentMethodsViewControllerTests: TestCase { + private let userWithCards = GraphUser.template |> \.storedCards .~ UserCreditCards( + storedCards: [ + UserCreditCards.visa, + UserCreditCards.masterCard + ] + ) + + override func setUp() { + super.setUp() + AppEnvironment.pushEnvironment(mainBundle: Bundle.framework) + UIView.setAnimationsEnabled(false) + } + + override func tearDown() { + AppEnvironment.popEnvironment() + UIView.setAnimationsEnabled(true) + + super.tearDown() + } + + func testView_PledgeContext_AddNewCardNonLoadingState_Success() { + let response = UserEnvelope(me: self.userWithCards) + let envelope = ClientSecretEnvelope(clientSecret: "test") + let mockOptimizelyClient = MockOptimizelyClient() + |> \.features .~ [OptimizelyFeature.paymentSheetEnabled.rawValue: true] + let mockService = MockService( + createStripeSetupIntentResult: .success(envelope), + fetchGraphUserResult: .success(response) + ) + let project = Project.template + |> \.availableCardTypes .~ [CreditCardType.visa.rawValue, CreditCardType.mastercard.rawValue] + + combos(Language.allLanguages, [Device.pad, Device.phone4_7inch]).forEach { language, device in + withEnvironment( + apiService: mockService, + currentUser: User.template, + language: language, + optimizelyClient: mockOptimizelyClient + ) { + let controller = PledgePaymentMethodsViewController.instantiate() + + let reward = Reward.template + let data = PledgePaymentMethodsValue( + user: .template, + project: project, + reward: reward, + context: .pledge, + refTag: nil + ) + + controller.configure(with: data) + + let (parent, _) = traitControllers(device: device, orientation: .portrait, child: controller) + parent.view.frame.size.height = 400 + + self.scheduler.advance(by: .seconds(1)) + + FBSnapshotVerifyView(parent.view, identifier: "lang_\(language)_device_\(device)") + } + } + } + + func testView_PledgeContext_AddNewCardLoadingState_Success() { + let response = UserEnvelope(me: self.userWithCards) + let mockOptimizelyClient = MockOptimizelyClient() + |> \.features .~ [OptimizelyFeature.paymentSheetEnabled.rawValue: true] + /// Using .failure case to prevent real Stripe sheet from being shown. + let mockService = MockService( + createStripeSetupIntentResult: .failure(.couldNotParseJSON), + fetchGraphUserResult: .success(response) + ) + let project = Project.template + |> \.availableCardTypes .~ [CreditCardType.visa.rawValue, CreditCardType.mastercard.rawValue] + + combos(Language.allLanguages, [Device.pad, Device.phone4_7inch]).forEach { language, device in + withEnvironment( + apiService: mockService, + currentUser: User.template, + language: language, + optimizelyClient: mockOptimizelyClient + ) { + let controller = PledgePaymentMethodsViewController.instantiate() + + let reward = Reward.template + let data = PledgePaymentMethodsValue( + user: .template, + project: project, + reward: reward, + context: .pledge, + refTag: nil + ) + + controller.configure(with: data) + + let (parent, _) = traitControllers(device: device, orientation: .portrait, child: controller) + parent.view.frame.size.height = 400 + + self.scheduler.advance(by: .seconds(1)) + + controller.pledgeViewControllerPaymentSheet(PledgeViewController(), hidden: false) + + self.scheduler.advance(by: .seconds(1)) + + FBSnapshotVerifyView(parent.view, identifier: "lang_\(language)_device_\(device)") + } + } + } +} diff --git a/Kickstarter-iOS/Views/Controllers/PledgeViewController.swift b/Kickstarter-iOS/Views/Controllers/PledgeViewController.swift index 1f8dd795b2..1a3914ae44 100644 --- a/Kickstarter-iOS/Views/Controllers/PledgeViewController.swift +++ b/Kickstarter-iOS/Views/Controllers/PledgeViewController.swift @@ -21,6 +21,10 @@ protocol PledgeViewControllerDelegate: AnyObject { func pledgeViewControllerDidUpdatePledge(_ viewController: PledgeViewController, message: String) } +protocol PaymentSheetAppearanceDelegate: AnyObject { + func pledgeViewControllerPaymentSheet(_ viewController: PledgeViewController, hidden: Bool) +} + final class PledgeViewController: UIViewController, MessageBannerViewControllerPresenting, ProcessingViewPresenting { // MARK: - Properties @@ -30,6 +34,7 @@ final class PledgeViewController: UIViewController, }() public weak var delegate: PledgeViewControllerDelegate? + public weak var paymentSheetAppearanceDelegate: PaymentSheetAppearanceDelegate? private lazy var descriptionSectionSeparator: UIView = { UIView(frame: .zero) @@ -357,6 +362,7 @@ final class PledgeViewController: UIViewController, .observeForUI() .observeValues { [weak self] value in self?.paymentMethodsViewController.configure(with: value) + self?.paymentSheetAppearanceDelegate = self?.paymentMethodsViewController } self.viewModel.outputs.goToLoginSignup @@ -454,6 +460,7 @@ final class PledgeViewController: UIViewController, .observeForControllerAction() .observeValues { [weak self] helpType in guard let self = self else { return } + self.paymentSheetAppearanceDelegate?.pledgeViewControllerPaymentSheet(self, hidden: true) self.presentHelpWebViewController(with: helpType, presentationStyle: .formSheet) } @@ -596,18 +603,22 @@ extension PledgeViewController: PKPaymentAuthorizationViewControllerDelegate { extension PledgeViewController: PledgeViewCTAContainerViewDelegate { func goToLoginSignup() { + self.paymentSheetAppearanceDelegate?.pledgeViewControllerPaymentSheet(self, hidden: true) self.viewModel.inputs.goToLoginSignupTapped() } func applePayButtonTapped() { + self.paymentSheetAppearanceDelegate?.pledgeViewControllerPaymentSheet(self, hidden: true) self.viewModel.inputs.applePayButtonTapped() } func submitButtonTapped() { + self.paymentSheetAppearanceDelegate?.pledgeViewControllerPaymentSheet(self, hidden: true) self.viewModel.inputs.submitButtonTapped() } func termsOfUseTapped(with helpType: HelpType) { + self.paymentSheetAppearanceDelegate?.pledgeViewControllerPaymentSheet(self, hidden: true) self.viewModel.inputs.termsOfUseTapped(with: helpType) } } diff --git a/Kickstarter.xcodeproj/project.pbxproj b/Kickstarter.xcodeproj/project.pbxproj index dc1734f34e..343f7b6c7b 100644 --- a/Kickstarter.xcodeproj/project.pbxproj +++ b/Kickstarter.xcodeproj/project.pbxproj @@ -239,8 +239,10 @@ 19047FCB2889CDAC00BDD1A8 /* GraphAPI.CreateSetupIntentInput+CreateSetupIntentInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19047FCA2889CDAC00BDD1A8 /* GraphAPI.CreateSetupIntentInput+CreateSetupIntentInput.swift */; }; 19047FCF2889D4BC00BDD1A8 /* GraphAPI.CreateSetupIntentInput+CreateSetupIntentInputTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19047FCE2889D4BC00BDD1A8 /* GraphAPI.CreateSetupIntentInput+CreateSetupIntentInputTests.swift */; }; 19047FD12889D6DC00BDD1A8 /* ClientSecretEnvelope+CreateSetupIntentMutation.DataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19047FD02889D6DC00BDD1A8 /* ClientSecretEnvelope+CreateSetupIntentMutation.DataTests.swift */; }; + 192016C928B6779B0046919B /* PledgePaymentMethodsViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192016C728B6731A0046919B /* PledgePaymentMethodsViewControllerTests.swift */; }; 194520C5288859A600CA9B88 /* PaymentCardTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 194520C4288859A600CA9B88 /* PaymentCardTextField.swift */; }; 1981AC90289075D900BB4897 /* Stripe in Frameworks */ = {isa = PBXBuildFile; productRef = 1981AC8F289075D900BB4897 /* Stripe */; }; + 19F0940128B3D75800973138 /* PledgePaymentMethodAddCellViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F0940028B3D75800973138 /* PledgePaymentMethodAddCellViewModel.swift */; }; 19F91B0E289C1DD6000AEC6A /* PledgePaymentSheetPaymentMethodCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F91B0D289C1DD6000AEC6A /* PledgePaymentSheetPaymentMethodCell.swift */; }; 19F91B10289C1E51000AEC6A /* PledgePaymentSheetPaymentMethodCellViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F91B0F289C1E51000AEC6A /* PledgePaymentSheetPaymentMethodCellViewModel.swift */; }; 19F91B14289C8097000AEC6A /* Stripe in Frameworks */ = {isa = PBXBuildFile; productRef = 19F91B13289C8097000AEC6A /* Stripe */; }; @@ -1921,7 +1923,9 @@ 19047FCA2889CDAC00BDD1A8 /* GraphAPI.CreateSetupIntentInput+CreateSetupIntentInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GraphAPI.CreateSetupIntentInput+CreateSetupIntentInput.swift"; sourceTree = ""; }; 19047FCE2889D4BC00BDD1A8 /* GraphAPI.CreateSetupIntentInput+CreateSetupIntentInputTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GraphAPI.CreateSetupIntentInput+CreateSetupIntentInputTests.swift"; sourceTree = ""; }; 19047FD02889D6DC00BDD1A8 /* ClientSecretEnvelope+CreateSetupIntentMutation.DataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ClientSecretEnvelope+CreateSetupIntentMutation.DataTests.swift"; sourceTree = ""; }; + 192016C728B6731A0046919B /* PledgePaymentMethodsViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PledgePaymentMethodsViewControllerTests.swift; sourceTree = ""; }; 194520C4288859A600CA9B88 /* PaymentCardTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentCardTextField.swift; sourceTree = ""; }; + 19F0940028B3D75800973138 /* PledgePaymentMethodAddCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PledgePaymentMethodAddCellViewModel.swift; sourceTree = ""; }; 19F91B0D289C1DD6000AEC6A /* PledgePaymentSheetPaymentMethodCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PledgePaymentSheetPaymentMethodCell.swift; sourceTree = ""; }; 19F91B0F289C1E51000AEC6A /* PledgePaymentSheetPaymentMethodCellViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PledgePaymentSheetPaymentMethodCellViewModel.swift; sourceTree = ""; }; 20455E6626712A6A00F55EDC /* CommentsErrorCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentsErrorCell.swift; sourceTree = ""; }; @@ -4177,6 +4181,7 @@ 3751E4282335871600047E9A /* PledgeAmountViewControllerTests.swift */, 8A13D15E249559CB007E2C0B /* PledgeExpandableRewardsHeaderViewController.swift */, D6D4425C22C276DF0070C3AF /* PledgePaymentMethodsViewController.swift */, + 192016C728B6731A0046919B /* PledgePaymentMethodsViewControllerTests.swift */, 37059842226F79A700BDA6E3 /* PledgeShippingLocationViewController.swift */, 8A4DDAB22373427000ADE31D /* PledgeStatusLabelView.swift */, D0237C1422BC2B640092C792 /* PledgeSummaryViewController.swift */, @@ -4843,6 +4848,7 @@ 8A73EAD02339732900FF9051 /* PledgePaymentMethodCellViewModelTests.swift */, D6534D3B22E7898B00E9D279 /* PledgePaymentMethodsViewModel.swift */, D6534D3D22E789B900E9D279 /* PledgePaymentMethodsViewModelTests.swift */, + 19F0940028B3D75800973138 /* PledgePaymentMethodAddCellViewModel.swift */, 19F91B0F289C1E51000AEC6A /* PledgePaymentSheetPaymentMethodCellViewModel.swift */, 3706408522A8A6D700889CBD /* PledgeShippingLocationViewModel.swift */, 3706408722A8A6F200889CBD /* PledgeShippingLocationViewModelTests.swift */, @@ -5964,6 +5970,7 @@ 77BC00F623301BD400808E75 /* RewardCellViewModel.swift in Sources */, D710ADFB243FB94A00DC7199 /* PledgeViewCTAContainerViewModel.swift in Sources */, 3767EDB122CFFF2B0088E8E4 /* ShippingRulesViewModel.swift in Sources */, + 19F0940128B3D75800973138 /* PledgePaymentMethodAddCellViewModel.swift in Sources */, D79F0F772107D60800D3B32C /* SettingsRequestDataCellViewModel.swift in Sources */, 8A05CB0E23DB82D3002B01EE /* CookieRefTagFunctions.swift in Sources */, 477239772710FA9A00D26CDA /* ProjectNavigationSelectorViewModel.swift in Sources */, @@ -6770,6 +6777,7 @@ A783560A1E85BE890021DA5A /* BackerDashboardProjectsViewControllerTests.swift in Sources */, 77941D2E216FCB0100398B89 /* ChangePasswordViewControllerTests.swift in Sources */, A7ED20661E83256700BFFA01 /* UpdateViewModelTests.swift in Sources */, + 192016C928B6779B0046919B /* PledgePaymentMethodsViewControllerTests.swift in Sources */, A7ED204E1E8323E900BFFA01 /* ProjectActivityViewControllerTests.swift in Sources */, A7ED201B1E83229E00BFFA01 /* ProjectActivitiesDataSourceTests.swift in Sources */, 3767EDAF22CFFF010088E8E4 /* ShippingRulesTableViewControllerTests.swift in Sources */, @@ -7739,9 +7747,9 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = "Kickstarter-iOS/Debug.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 48YBP49Y5N; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = "Kickstarter-iOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/Library/ViewModels/PledgePaymentMethodAddCellViewModel.swift b/Library/ViewModels/PledgePaymentMethodAddCellViewModel.swift new file mode 100644 index 0000000000..e8fd5a2ee2 --- /dev/null +++ b/Library/ViewModels/PledgePaymentMethodAddCellViewModel.swift @@ -0,0 +1,33 @@ +import Foundation +import ReactiveSwift + +public protocol PledgePaymentMethodAddCellViewModelInputs { + /// Used to configure the cell with a loading state. + func configureWith(value: Bool) +} + +public protocol PledgePaymentMethodAddCellViewModelOutputs { + var showLoading: Signal { get } +} + +public protocol PledgePaymentMethodAddCellViewModelType { + var inputs: PledgePaymentMethodAddCellViewModelInputs { get } + var outputs: PledgePaymentMethodAddCellViewModelOutputs { get } +} + +public final class PledgePaymentMethodAddCellViewModel: PledgePaymentMethodAddCellViewModelType, + PledgePaymentMethodAddCellViewModelInputs, PledgePaymentMethodAddCellViewModelOutputs { + public init() { + self.showLoading = self.configData.signal + } + + public let showLoading: Signal + + fileprivate let configData = MutableProperty(false) + public func configureWith(value: Bool) { + self.configData.value = value + } + + public var inputs: PledgePaymentMethodAddCellViewModelInputs { return self } + public var outputs: PledgePaymentMethodAddCellViewModelOutputs { return self } +} diff --git a/Library/ViewModels/PledgePaymentMethodsViewModel.swift b/Library/ViewModels/PledgePaymentMethodsViewModel.swift index 4f0bfac85c..965b675601 100644 --- a/Library/ViewModels/PledgePaymentMethodsViewModel.swift +++ b/Library/ViewModels/PledgePaymentMethodsViewModel.swift @@ -35,6 +35,7 @@ public typealias PledgePaymentMethodsAndSelectionData = ( public protocol PledgePaymentMethodsViewModelInputs { func addNewCardViewControllerDidAdd(newCard card: UserCreditCards.CreditCard) + func shouldCancelPaymentSheetAppearance(state: Bool) func configure(with value: PledgePaymentMethodsValue) func didSelectRowAtIndexPath(_ indexPath: IndexPath) func paymentSheetDidAdd(newCard card: PaymentSheet.FlowController.PaymentOptionDisplayData, @@ -49,7 +50,7 @@ public protocol PledgePaymentMethodsViewModelOutputs { var notifyDelegateCreditCardSelected: Signal { get } var notifyDelegateLoadPaymentMethodsError: Signal { get } var reloadPaymentMethods: Signal { get } - var showLoadingIndicatorView: Signal { get } + var updateAddNewCardLoading: Signal { get } } public protocol PledgePaymentMethodsViewModelType { @@ -308,6 +309,15 @@ public final class PledgePaymentMethodsViewModel: PledgePaymentMethodsViewModelT (.pledge, project) } + let showLoadingIndicator = Signal.combineLatest(project, paymentSheetOnPledgeContext.filter(isTrue)) + .takeWhen(didTapToAddNewCard) + .mapConst(true) + + self.shouldCancelPaymentSheetAppearance <~ showLoadingIndicator.mapConst(false) + + self.shouldCancelPaymentSheetAppearance <~ updatedCards.signal + .mapConst(true) + let createSetupIntentEvent = Signal.combineLatest( project, paymentSheetOnPledgeContext.filter(isTrue) @@ -319,6 +329,7 @@ public final class PledgePaymentMethodsViewModel: PledgePaymentMethodsViewModelT .ksr_debounce(.seconds(1), on: AppEnvironment.current.scheduler) .ksr_delay(AppEnvironment.current.apiDelayInterval, on: AppEnvironment.current.scheduler) .switchMap { envelope -> SignalProducer in + var configuration = PaymentSheet.Configuration() configuration.merchantDisplayName = Strings.general_accessibility_kickstarter() configuration.allowsDelayedPaymentMethods = true @@ -334,18 +345,19 @@ public final class PledgePaymentMethodsViewModel: PledgePaymentMethodsViewModelT } self.goToAddCardViaStripeScreen = createSetupIntentEvent.values() + .withLatestFrom(self.shouldCancelPaymentSheetAppearance.signal) + .map { (data, shouldCancel) -> PaymentSheetSetupData? in + shouldCancel ? nil : data + } + .skipNil() self.notifyDelegateLoadPaymentMethodsError = Signal .merge(storedCardsEvent.errors(), createSetupIntentEvent.errors()) .map { $0.localizedDescription } - let showLoadingIndicator = Signal.combineLatest(project, paymentSheetOnPledgeContext.filter(isTrue)) - .takeWhen(didTapToAddNewCard) - .mapConst(true) - - self.showLoadingIndicatorView = Signal.merge( - showLoadingIndicator, - createSetupIntentEvent.errors().mapConst(false) + self.updateAddNewCardLoading = Signal.merge( + createSetupIntentEvent.errors().mapConst(false), + self.shouldCancelPaymentSheetAppearance.signal.negate() ) self.willSelectRowAtIndexPathReturnProperty <~ self.reloadPaymentMethods @@ -394,6 +406,11 @@ public final class PledgePaymentMethodsViewModel: PledgePaymentMethodsViewModelT self.newSetupIntentCreditCardProperty.value = (card, setupIntent) } + private let shouldCancelPaymentSheetAppearance = MutableProperty(true) + public func shouldCancelPaymentSheetAppearance(state: Bool) { + self.shouldCancelPaymentSheetAppearance.value = state + } + private let viewDidLoadProperty = MutableProperty(()) public func viewDidLoad() { self.viewDidLoadProperty.value = () @@ -416,7 +433,7 @@ public final class PledgePaymentMethodsViewModel: PledgePaymentMethodsViewModelT public let notifyDelegateCreditCardSelected: Signal public let notifyDelegateLoadPaymentMethodsError: Signal public let reloadPaymentMethods: Signal - public let showLoadingIndicatorView: Signal + public let updateAddNewCardLoading: Signal public var inputs: PledgePaymentMethodsViewModelInputs { return self } public var outputs: PledgePaymentMethodsViewModelOutputs { return self } diff --git a/Library/ViewModels/PledgePaymentMethodsViewModelTests.swift b/Library/ViewModels/PledgePaymentMethodsViewModelTests.swift index 41a24b5cf0..122714838f 100644 --- a/Library/ViewModels/PledgePaymentMethodsViewModelTests.swift +++ b/Library/ViewModels/PledgePaymentMethodsViewModelTests.swift @@ -29,7 +29,7 @@ final class PledgePaymentMethodsViewModelTests: TestCase { private let reloadPaymentMethodsProjectCountry = TestObserver<[String], Never>() private let reloadPaymentMethodsSelectedCard = TestObserver() private let reloadPaymentMethodsShouldReload = TestObserver() - private let showLoadingIndicatorView = TestObserver() + private let addNewCardLoadingState = TestObserver() override func setUp() { super.setUp() @@ -57,7 +57,7 @@ final class PledgePaymentMethodsViewModelTests: TestCase { .observe(self.reloadPaymentMethodsSelectedSetupIntent.observer) self.vm.outputs.reloadPaymentMethods.map { $0.4 }.observe(self.reloadPaymentMethodsShouldReload.observer) self.vm.outputs.reloadPaymentMethods.map { $0.5 }.observe(self.reloadPaymentMethodsIsLoading.observer) - self.vm.outputs.showLoadingIndicatorView.map { $0 }.observe(self.showLoadingIndicatorView.observer) + self.vm.outputs.updateAddNewCardLoading.map { $0 }.observe(self.addNewCardLoadingState.observer) self.vm.outputs.goToAddCardViaStripeScreen.map { $0 }.observe(self.goToAddStripeCardIntent.observer) // swiftlint:enable line_length } @@ -935,7 +935,7 @@ final class PledgePaymentMethodsViewModelTests: TestCase { } } - func testLoadingingIndicatorView_ShowAndHide_WhenPaymentSheetFlagEnabled_Success() { + func testLoadingStateAddNewCard_ShowAndHide_WhenPaymentSheetFlagEnabled_Success() { let project = Project.template let addNewCardIndexPath = IndexPath( row: 0, @@ -959,11 +959,11 @@ final class PledgePaymentMethodsViewModelTests: TestCase { self.scheduler.run() - self.showLoadingIndicatorView.assertValues([true, false]) + self.addNewCardLoadingState.assertValues([true, false]) } } - func testLoadingingIndicatorView_NoEmissions_WhenPaymentSheetFlagDisabled_Success() { + func testLoadingStateAddNewCard_NoEmissions_WhenPaymentSheetFlagDisabled_Success() { let project = Project.template let addNewCardIndexPath = IndexPath( row: 0, @@ -987,7 +987,73 @@ final class PledgePaymentMethodsViewModelTests: TestCase { self.scheduler.run() - self.showLoadingIndicatorView.assertValues([]) + self.addNewCardLoadingState.assertValues([]) + } + } + + func testLoadingStateAddNewCard_ShowAndHide_NonCardSelectionNonAddNewCardContext_WhenPaymentSheetFlagEnabled_Success() { + let project = Project.template + let mockOptimizelyClient = MockOptimizelyClient() + |> \.features .~ [ + OptimizelyFeature.paymentSheetEnabled.rawValue: true + ] + + let mockService = MockService(createStripeSetupIntentResult: .failure(.couldNotParseErrorEnvelopeJSON)) + + withEnvironment( + apiService: mockService, + currentUser: User.template, + optimizelyClient: mockOptimizelyClient + ) { + self.vm.inputs.viewDidLoad() + self.vm.inputs.configure(with: (User.template, project, Reward.template, .pledge, .discovery)) + self.vm.inputs.shouldCancelPaymentSheetAppearance(state: true) + self.vm.inputs.shouldCancelPaymentSheetAppearance(state: false) + self.vm.inputs.shouldCancelPaymentSheetAppearance(state: false) + self.vm.inputs.shouldCancelPaymentSheetAppearance(state: false) + + self.scheduler.run() + + self.addNewCardLoadingState.assertValues([false, true, true, true]) + } + } + + func testLoadingStateAddNewCard_ShowAndHide_CardSelectionContext_WhenPaymentSheetFlagEnabled_Success() { + let cards = UserCreditCards.withCards([ + UserCreditCards.visa, + UserCreditCards.masterCard, + UserCreditCards.amex + ]) + let graphUser = GraphUser.template |> \.storedCards .~ cards + let response = UserEnvelope(me: graphUser) + let mockService = MockService(fetchGraphUserResult: .success(response)) + let project = Project.template + |> \.availableCardTypes .~ ["AMEX", "VISA", "MASTERCARD"] + + let mockOptimizelyClient = MockOptimizelyClient() + |> \.features .~ [ + OptimizelyFeature.paymentSheetEnabled.rawValue: true + ] + let paymentMethodSelectionIndexPath = IndexPath( + row: 1, + section: PaymentMethodsTableViewSection.paymentMethods.rawValue + ) + + withEnvironment( + apiService: mockService, + currentUser: User.template, + optimizelyClient: mockOptimizelyClient + ) { + self.vm.inputs.viewDidLoad() + self.vm.inputs.configure(with: (User.template, project, Reward.template, .pledge, .discovery)) + self.vm.inputs.shouldCancelPaymentSheetAppearance(state: false) + + self.scheduler.advance(by: .seconds(1)) + self.vm.inputs.didSelectRowAtIndexPath(paymentMethodSelectionIndexPath) + + self.scheduler.run() + + self.addNewCardLoadingState.assertValues([true, false]) } } diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_de_device_pad@2x.png new file mode 100644 index 0000000000..6b6fcaad42 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_de_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..5d3cfee872 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_en_device_pad@2x.png new file mode 100644 index 0000000000..ac36a53ba6 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_en_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..c38e16a808 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_es_device_pad@2x.png new file mode 100644 index 0000000000..1057a1f9c7 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_es_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..fd1325ca2d Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_fr_device_pad@2x.png new file mode 100644 index 0000000000..2aad38e912 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_fr_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..603ee0712a Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_ja_device_pad@2x.png new file mode 100644 index 0000000000..c184510c89 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_ja_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..f4d8cd6409 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardLoadingState_Success_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_de_device_pad@2x.png new file mode 100644 index 0000000000..0ba84a1119 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_de_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..61020606d0 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_en_device_pad@2x.png new file mode 100644 index 0000000000..cb90488e50 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_en_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..33b4703983 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_es_device_pad@2x.png new file mode 100644 index 0000000000..d3e135b625 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_es_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..1253ea3bbc Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_fr_device_pad@2x.png new file mode 100644 index 0000000000..a053e9afd8 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_fr_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..a4b7837d05 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_ja_device_pad@2x.png new file mode 100644 index 0000000000..5457857b67 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_ja_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..bd895ee5d1 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardNonLoadingState_Success_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_de_device_pad@2x.png new file mode 100644 index 0000000000..0ba84a1119 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_de_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..61020606d0 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_en_device_pad@2x.png new file mode 100644 index 0000000000..cb90488e50 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_en_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..33b4703983 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_es_device_pad@2x.png new file mode 100644 index 0000000000..d3e135b625 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_es_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..1253ea3bbc Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_fr_device_pad@2x.png new file mode 100644 index 0000000000..a053e9afd8 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_fr_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..a4b7837d05 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_ja_device_pad@2x.png new file mode 100644 index 0000000000..5457857b67 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_ja_device_phone4_7inch@2x.png new file mode 100644 index 0000000000..bd895ee5d1 Binary files /dev/null and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgePaymentMethodsViewControllerTests/testView_PledgeContext_AddNewCardState_Success_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_pad@2x.png index 3cab6b3248..5340c4142d 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch@2x.png index 1a487d8db8..32ea7297ee 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_pad@2x.png index c77b78fe16..84cf638778 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch@2x.png index 3339c96f14..9f94a93596 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_pad@2x.png index 61e976f20a..a4667a9b18 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch@2x.png index d0932af1ef..48a7c9d46d 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_pad@2x.png index 07769892ea..7c3d2ca2a2 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch@2x.png index 3fc40039e4..8f2c217f6c 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_pad@2x.png index c09037753f..d6befd31df 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch@2x.png index aff79dedac..dd2b220eb2 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_pad@2x.png index b19098cf48..ba6ccea8d0 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch@2x.png index 63a7e851e8..3921736985 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_pad@2x.png index 02a39fae73..82830a2fe4 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch@2x.png index 33fee93aed..6480b15aa1 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_pad@2x.png index aa634a1cdc..fd10738715 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch@2x.png index 38826f9b8b..a127f0ce62 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_pad@2x.png index 1ccee79f70..b2ae3464eb 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch@2x.png index b4375e3b6a..996e97c2df 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_pad@2x.png index da4b151aa6..7468a7e80a 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch@2x.png index 373269733f..d914c770df 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_pad@2x.png index b3c72111f5..4103e4f2af 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png index 3c487e56e6..a8caec3465 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png index 3b1b53bfef..0bfc675ac8 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_pad@2x.png index af1d946efa..ddaefe8636 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png index 80f7e2e235..103ad66a38 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png index 015141eaad..4b046f00d3 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png index 5cad59e829..808b4a72fc 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_pad@2x.png index 0ac47c6d5f..1dae947c8e 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png index 02255477f1..2bcbedddd2 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png index 9c7fe0ecbd..b4a4e791e2 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png index c50b7779d7..d97201a880 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_pad@2x.png index f79153c24e..fd4835b35d 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png index e2b832dc2b..07e89c59ac 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png index 87359b5b31..44bd22302e 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_pad@2x.png index eefc41c486..1ef8573beb 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png index 5763c2cb40..dc61392f9e 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png index 1a70a9ad96..5f698e0c54 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png index 352ec5cd73..f892beca13 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_ChangePaymentMethodContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_FixPaymentMethod_ErroredCard_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_FixPaymentMethod_ErroredCard_lang_en_device_phone4_7inch@2x.png index d71a5e8adb..c27598d3d1 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_FixPaymentMethod_ErroredCard_lang_en_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_FixPaymentMethod_ErroredCard_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_pad_LoggedIn@2x.png index 9eab4614e8..3fff24ba8c 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch_LoggedIn@2x.png index 430dcdc5fe..eeee295526 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_de_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_pad_LoggedIn@2x.png index 2480afe2b2..9520328243 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch_LoggedIn@2x.png index abeb75eac0..64d6c38b85 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_en_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_pad_LoggedIn@2x.png index 3d9286c869..d359b4c8b1 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch_LoggedIn@2x.png index 9b15e81456..6725eef078 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_es_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_pad_LoggedIn@2x.png index 366d0084dc..055d8f3f5a 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch_LoggedIn@2x.png index 004e9cc140..9cb0419146 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_fr_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_pad_LoggedIn@2x.png index c262ff5bc4..9ac1c19489 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch_LoggedIn@2x.png index fdde4674b7..caf8f2f44c 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsFalse_lang_ja_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_pad_LoggedIn@2x.png index 74c9cf7897..5fe404a39f 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch_LoggedIn@2x.png index 1f49e79408..063e794bd3 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_de_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_pad_LoggedIn@2x.png index b4eb4df7e0..3238dd0506 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch_LoggedIn@2x.png index 50926520ec..4a2a699f2c 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_en_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_pad_LoggedIn@2x.png index ede0b80830..a935d59de4 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch_LoggedIn@2x.png index f6f2244fb9..5651f20a17 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_es_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_pad_LoggedIn@2x.png index ba5d3a9a29..c6de94fa14 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch_LoggedIn@2x.png index 39e160b006..b9c420daa7 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_fr_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_pad_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_pad_LoggedIn@2x.png index dfdd78240b..c7239b9aee 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_pad_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_pad_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch_LoggedIn@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch_LoggedIn@2x.png index 6cd560b732..ca45ea9001 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch_LoggedIn@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_NeedsConversion_IsTrue_lang_ja_device_phone4_7inch_LoggedIn@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_pad@2x.png index 601327274a..465d449842 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4_7inch@2x.png index 048a013f7f..31a3a08980 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4inch@2x.png index a749769648..d3be24a83c 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_5inch@2x.png index 213fcaeac9..8c9debed42 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_8inch@2x.png index 048a013f7f..31a3a08980 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_de_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_pad@2x.png index 57a5205792..91f33f0e93 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4_7inch@2x.png index fe66a1ed27..07f3bb57e8 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4inch@2x.png index f08bdfc321..3c174e4359 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_5inch@2x.png index da84a10a87..b46815ddf0 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_8inch@2x.png index fe66a1ed27..07f3bb57e8 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_en_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_pad@2x.png index 4c872ef033..9b52aef9ed 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4_7inch@2x.png index 2b46a1e536..1977132bd8 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4inch@2x.png index ef18b2115b..c9c3462073 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_5inch@2x.png index 81159f1902..a2cf8f755d 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_8inch@2x.png index 2b46a1e536..1977132bd8 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_es_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_pad@2x.png index 48e580c922..1f94b67c18 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4_7inch@2x.png index 9a82907605..8585108d58 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4inch@2x.png index 883bbec047..6aab25360e 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_5inch@2x.png index 188f21474f..963bfc68eb 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_8inch@2x.png index 9a82907605..8585108d58 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_fr_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_pad@2x.png index 2829d6e7c4..e587db7973 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4_7inch@2x.png index ba1052fcea..5f3bb7d53a 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4inch@2x.png index dab85f539d..8c632db361 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_5inch@2x.png index 0edfb3b552..9bfcce9bb1 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_8inch@2x.png index ba1052fcea..5f3bb7d53a 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_OptimizelyExperiementVariant1Enabled_lang_ja_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_pad@2x.png index 60db9b6f30..4f565f7701 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4_7inch@2x.png index abecfaa0ac..f590ed9ff4 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4inch@2x.png index 83bc33f844..cc6b8efe46 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png index d87e470c62..6277c25ee6 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png index abecfaa0ac..f590ed9ff4 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_de_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_pad@2x.png index 51b3a5a3a6..844436182b 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png index 79b305f10f..3a3fd7a2bc 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4inch@2x.png index a0a688747f..0ef1aa875c 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png index 7c9bfa71ac..723b812ef4 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png index 79b305f10f..3a3fd7a2bc 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_en_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_pad@2x.png index d5388d878c..cb7b479868 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png index 37a67d9b77..75ae13dd52 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4inch@2x.png index ba7adac3cb..655fc0ccb9 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png index b2b61bfb65..b0bbb05129 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png index 37a67d9b77..75ae13dd52 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_es_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_pad@2x.png index 81b8e018fc..79c0e3ffe1 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4_7inch@2x.png index 63868f4e75..271c58cbbb 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4inch@2x.png index c851f19857..f94dba8c77 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png index b93bedd855..05e361cb69 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png index 63868f4e75..271c58cbbb 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_fr_device_phone5_8inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_pad@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_pad@2x.png index 1f48b7f443..33751986d8 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_pad@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_pad@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png index a86d3b4a9b..7a4c2f557b 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4_7inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4inch@2x.png index a847e5c5c3..e16b4afba7 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone4inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png index 6abb4e117c..8a83a0a49d 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_5inch@2x.png differ diff --git a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png index a86d3b4a9b..7a4c2f557b 100644 Binary files a/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png and b/Screenshots/_64/Kickstarter_Framework_iOSTests.PledgeViewControllerTests/testView_PledgeContext_UnavailableStoredCards_lang_ja_device_phone5_8inch@2x.png differ