Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/4.3.6 #539

Merged
merged 5 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Checkout.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Checkout'
s.version = '4.3.5'
s.version = '4.3.6'
s.summary = 'Checkout SDK for iOS'

s.description = <<-DESC
Expand Down
2 changes: 1 addition & 1 deletion Checkout/Samples/CocoapodsSample/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ target 'CheckoutCocoapodsSample' do
use_frameworks!

# Pods for CheckoutSDKCocoapodsSample
pod 'Checkout', '4.3.5'
pod 'Checkout', '4.3.6'

end
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@
repositoryURL = "https://github.com/checkout/frames-ios";
requirement = {
kind = exactVersion;
version = 4.3.5;
version = 4.3.6;
};
};
/* End XCRemoteSwiftPackageReference section */
Expand Down
7 changes: 6 additions & 1 deletion Checkout/Source/Tokenisation/CheckoutAPIService.swift
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,16 @@ final public class CheckoutAPIService: CheckoutAPIProtocol {
case .response(let tokenResponse):
let tokenDetails = tokenDetailsFactory.create(tokenResponse: tokenResponse)

guard let self else { return }
guard let self else {
logManager.resetCorrelationID()
return
}

self.riskSDK.configure { configurationResult in
switch configurationResult {
case .failure:
completion(.success(tokenDetails))
logManager.resetCorrelationID()
case .success():
self.riskSDK.publishData(cardToken: tokenDetails.token) { _ in
logManager.queue(event: .riskSDKCompletion)
Expand Down
65 changes: 33 additions & 32 deletions CheckoutTests/Integration/CheckoutAPIServiceIntegrationTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -61,38 +61,39 @@ final class CheckoutAPIServiceIntegrationTests: XCTestCase {
}
}

func test_createApplePayToken() {
let applePay = StubProvider.createApplePay()

// details associated with default apple pay token
let expectedApplePayDetails = ApplePayDetails(
expiryDate: .init(month: 3, year: 2024),
bin: "537426",
last4: "7789"
)

let expectation = XCTestExpectation(description: "Waiting for token creation")
var tokenDetailsResult: Result<TokenDetails, TokenisationError.TokenRequest>?

subject.createToken(.applePay(applePay)) {
tokenDetailsResult = $0
expectation.fulfill()
}

wait(for: [expectation], timeout: 35)

guard let tokenDetailsResult = tokenDetailsResult else {
XCTFail("expected tokenDetailsResult")
return
}

switch tokenDetailsResult {
case .success(let tokenDetails):
verifyApplePayToken(applePayDetails: expectedApplePayDetails, tokenDetails: tokenDetails)
case .failure(let tokenisationError):
XCTFail("expected success, received error, code: \(tokenisationError.code)")
}
}
#warning("Commented out until we get a new dummy Apple Pay token for stubbing purposes")
// func test_createApplePayToken() {
// let applePay = StubProvider.createApplePay()
//
// // details associated with default apple pay token
// let expectedApplePayDetails = ApplePayDetails(
// expiryDate: .init(month: 3, year: 2024),
// bin: "537426",
// last4: "7789"
// )
//
// let expectation = XCTestExpectation(description: "Waiting for token creation")
// var tokenDetailsResult: Result<TokenDetails, TokenisationError.TokenRequest>?
//
// subject.createToken(.applePay(applePay)) {
// tokenDetailsResult = $0
// expectation.fulfill()
// }
//
// wait(for: [expectation], timeout: 35)
//
// guard let tokenDetailsResult = tokenDetailsResult else {
// XCTFail("expected tokenDetailsResult")
// return
// }
//
// switch tokenDetailsResult {
// case .success(let tokenDetails):
// verifyApplePayToken(applePayDetails: expectedApplePayDetails, tokenDetails: tokenDetails)
// case .failure(let tokenisationError):
// XCTFail("expected success, received error, code: \(tokenisationError.code)")
// }
// }

private func verifyCardToken(
card: Card,
Expand Down
4 changes: 2 additions & 2 deletions Frames.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "Frames"
s.version = "4.3.5"
s.version = "4.3.6"
s.summary = "Checkout API Client, Payment Form UI and Utilities in Swift"
s.description = <<-DESC
Checkout API Client and Payment Form Utilities in Swift.
Expand All @@ -21,6 +21,6 @@ Pod::Spec.new do |s|

s.dependency 'PhoneNumberKit'
s.dependency 'CheckoutEventLoggerKit', '~> 1.2.4'
s.dependency 'Checkout', '4.3.5'
s.dependency 'Checkout', '4.3.6'

end
Original file line number Diff line number Diff line change
Expand Up @@ -1239,7 +1239,7 @@
repositoryURL = "https://github.com/checkout/frames-ios";
requirement = {
kind = exactVersion;
version = 4.3.5;
version = 4.3.6;
};
};
16C3F83E2A7927ED00690639 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */ = {
Expand Down
2 changes: 1 addition & 1 deletion iOS Example Frame/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ target 'iOS Example Frame' do
use_frameworks!

# Pods for iOS Example Custom
pod 'Frames', '4.3.5'
pod 'Frames', '4.3.6'

end

Expand Down
Loading