From 51633fa02320317d885ed599cbb99fa05c4d434f Mon Sep 17 00:00:00 2001 From: skyflow-bharti Date: Wed, 9 Apr 2025 19:07:07 +0530 Subject: [PATCH 1/6] SK-1952 update the default card icon after card scheme update --- Sources/Skyflow/elements/TextField.swift | 1 + .../skyflow_iOS_elementTests.swift | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Sources/Skyflow/elements/TextField.swift b/Sources/Skyflow/elements/TextField.swift index d047710..4b27f55 100644 --- a/Sources/Skyflow/elements/TextField.swift +++ b/Sources/Skyflow/elements/TextField.swift @@ -264,6 +264,7 @@ public class TextField: SkyflowElement, Element, BaseElement { listCardTypes = schemes if let cardTypes = listCardTypes, cardTypes.count >= 2 { getDropDownIcon() + selectedCardBrand = listCardTypes?[0] } } } diff --git a/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift b/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift index 0fb72eb..7ce9052 100644 --- a/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift +++ b/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift @@ -341,7 +341,7 @@ class skyflow_iOS_elementTests: XCTestCase { textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) - XCTAssertTrue(textField.selectedCardBrand == nil) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) XCTAssertTrue(textField.listCardTypes?.count == 2) XCTAssertEqual(textField.listCardTypes, [CardType.AMEX, CardType.VISA]) XCTAssertTrue(textField.dropdownButton.isHidden == false) @@ -351,7 +351,7 @@ class skyflow_iOS_elementTests: XCTestCase { textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) - XCTAssertTrue(textField.selectedCardBrand == nil) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) XCTAssertTrue(textField.listCardTypes?.count == 2) XCTAssertEqual(textField.listCardTypes, [CardType.AMEX, CardType.VISA]) XCTAssertTrue(textField.dropdownButton.isHidden == false) @@ -361,7 +361,7 @@ class skyflow_iOS_elementTests: XCTestCase { textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) - XCTAssertTrue(textField.selectedCardBrand == nil) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) XCTAssertTrue(textField.listCardTypes != nil) XCTAssertEqual(textField.listCardTypes, [CardType.AMEX, CardType.VISA]) XCTAssertFalse(textField.dropdownButton.isHidden) @@ -391,7 +391,7 @@ class skyflow_iOS_elementTests: XCTestCase { textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) - XCTAssertTrue(textField.selectedCardBrand == nil) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) XCTAssertTrue(textField.listCardTypes != nil) XCTAssertEqual(textField.listCardTypes, [CardType.AMEX, CardType.VISA]) XCTAssertFalse(textField.dropdownButton.isHidden) @@ -425,7 +425,7 @@ class skyflow_iOS_elementTests: XCTestCase { textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) XCTAssertFalse(textField.dropdownButton.isHidden) - XCTAssertEqual(textField.selectedCardBrand, nil) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) } func testDropdownClickAndMenuVisible() { let textField = getElementForDropDownTesting() @@ -433,7 +433,7 @@ class skyflow_iOS_elementTests: XCTestCase { textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) XCTAssertFalse(textField.dropdownButton.isHidden) - XCTAssertEqual(textField.selectedCardBrand, nil) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) if #available(iOS 14.0, *) { XCTAssertEqual(textField.dropdownButton.menu?.children.count, 2) XCTAssertEqual((textField.dropdownButton.menu?.children.first as? UIAction)?.title, CardType.AMEX.instance.defaultName) @@ -460,6 +460,7 @@ class skyflow_iOS_elementTests: XCTestCase { let textField = getElementForDropDownTestingWindow() textField.textFieldDidEndEditing(textField.textField) textField.update(updateOptions: CollectElementOptions(cardMetaData: ["scheme": [CardType.AMEX, CardType.VISA]])) + XCTAssertEqual(textField.selectedCardBrand?.instance.defaultName, CardType.AMEX.instance.defaultName) if #available(iOS 14.0, *) { XCTAssertEqual(textField.dropdownButton.frame, CGRect(x: 50, y: 15, width: 12, height: 15)) XCTAssertFalse(textField.dropdownButton.isHidden) From 35c2a7f2b4ee22c2120d0163a94288bf9799806e Mon Sep 17 00:00:00 2001 From: skyflow-bharti Date: Wed, 9 Apr 2025 22:59:23 +0530 Subject: [PATCH 2/6] SK-1952 update the workflow --- .github/workflows/main_coverage_upload.yml | 10 +++++----- .github/workflows/pr.yml | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main_coverage_upload.yml b/.github/workflows/main_coverage_upload.yml index 9674495..36cb4af 100644 --- a/.github/workflows/main_coverage_upload.yml +++ b/.github/workflows/main_coverage_upload.yml @@ -15,16 +15,16 @@ jobs: - name: Checkout Repo uses: actions/checkout@v2 - - name: Select Xcode 14 - run: sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer + - name: Select Xcode 15 + run: sudo xcode-select --switch /Applications/Xcode_15.1.app/Contents/Developer - - name: Prepare iOS 16 Simulator + - name: Prepare iOS 17 Simulator run: sudo mkdir -p /Library/Developer/CoreSimulator/Profiles/Runtimes - sudo ln -s /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 16.4.simruntime + sudo ln -s /Applications/Xcode_15.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 17.0.1.simruntime xcrun simctl list runtimes - name: Build and Test - run: xcodebuild clean -workspace .swiftpm/xcode/package.xcworkspace -scheme Skyflow -enableCodeCoverage YES -destination "platform=iOS Simulator,OS=16.4,name=iPhone 14" VAULT_URL="${{ secrets.VAULT_URL }}" CAVV_TEST_TOKEN="${{ secrets.CAVV_TEST_TOKEN }}" PULL_FUNDS_INTEGRATION_CONNECTION_URL="${{ secrets.PULL_FUNDS_INTEGRATION_CONNECTION_URL }}" CVV_INTEGRATION_PATH="${{ secrets.CVV_INTEGRATION_PATH }}" CVV_INTEGRATION_CONNECTION_URL="${{ secrets.CVV_INTEGRATION_CONNECTION_URL }}" CONNECTION_URL="${{ secrets.CONNECTION_URL }}" TEST_EXPIRATION_DATE_TOKEN="${{ secrets.TEST_EXPIRATION_DATE_TOKEN }}" TEST_CARD_NUMBER="${{ secrets.TEST_CARD_NUMBER }}" TEST_SKYFLOW_ID1="${{ secrets.TEST_SKYFLOW_ID1 }}" TEST_SKYFLOW_ID2="${{ secrets.TEST_SKYFLOW_ID2 }}" TEST_SKYFLOW_ID3="${{ secrets.TEST_SKYFLOW_ID3 }}" TEST_SKYFLOW_ID4="${{ secrets.TEST_SKYFLOW_ID4 }}" DETOKENIZE_TEST_TOKEN="${{ secrets.DETOKENIZE_TEST_TOKEN }}" DETOKENIZE_TEST_VALUE="${{ secrets.DETOKENIZE_TEST_VALUE }}" TOKEN_ENDPOINT="${{ secrets.TOKEN_ENDPOINT }}" PULL_FUNDS_INTEGRATION_ID="${{ secrets.PULL_FUNDS_INTEGRATION_ID }}" VISA_BASIC_AUTH="${{ secrets.VISA_BASIC_AUTH }}" CVV_INTEGRATION_ID="${{ secrets.CVV_INTEGRATION_ID }}" VAULT_ID="${{ secrets.VAULT_ID }}" -quiet test + run: xcodebuild clean -workspace .swiftpm/xcode/package.xcworkspace -scheme Skyflow -enableCodeCoverage YES -destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15' VAULT_URL="${{ secrets.VAULT_URL }}" CAVV_TEST_TOKEN="${{ secrets.CAVV_TEST_TOKEN }}" PULL_FUNDS_INTEGRATION_CONNECTION_URL="${{ secrets.PULL_FUNDS_INTEGRATION_CONNECTION_URL }}" CVV_INTEGRATION_PATH="${{ secrets.CVV_INTEGRATION_PATH }}" CVV_INTEGRATION_CONNECTION_URL="${{ secrets.CVV_INTEGRATION_CONNECTION_URL }}" CONNECTION_URL="${{ secrets.CONNECTION_URL }}" TEST_EXPIRATION_DATE_TOKEN="${{ secrets.TEST_EXPIRATION_DATE_TOKEN }}" TEST_CARD_NUMBER="${{ secrets.TEST_CARD_NUMBER }}" TEST_SKYFLOW_ID1="${{ secrets.TEST_SKYFLOW_ID1 }}" TEST_SKYFLOW_ID2="${{ secrets.TEST_SKYFLOW_ID2 }}" TEST_SKYFLOW_ID3="${{ secrets.TEST_SKYFLOW_ID3 }}" TEST_SKYFLOW_ID4="${{ secrets.TEST_SKYFLOW_ID4 }}" DETOKENIZE_TEST_TOKEN="${{ secrets.DETOKENIZE_TEST_TOKEN }}" DETOKENIZE_TEST_VALUE="${{ secrets.DETOKENIZE_TEST_VALUE }}" TOKEN_ENDPOINT="${{ secrets.TOKEN_ENDPOINT }}" PULL_FUNDS_INTEGRATION_ID="${{ secrets.PULL_FUNDS_INTEGRATION_ID }}" VISA_BASIC_AUTH="${{ secrets.VISA_BASIC_AUTH }}" CVV_INTEGRATION_ID="${{ secrets.CVV_INTEGRATION_ID }}" VAULT_ID="${{ secrets.VAULT_ID }}" -quiet test - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 38f8b52..7928d3a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -35,16 +35,16 @@ jobs: - name: Checkout Repo uses: actions/checkout@v2 - - name: Select Xcode 14 - run: sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer - - - name: Prepare iOS 16 Simulator + - name: Select Xcode 15 + run: sudo xcode-select --switch /Applications/Xcode_15.1.app/Contents/Developer + + - name: Prepare iOS 17 Simulator run: sudo mkdir -p /Library/Developer/CoreSimulator/Profiles/Runtimes - sudo ln -s /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 16.4.simruntime + sudo ln -s /Applications/Xcode_15.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 17.0.1.simruntime xcrun simctl list runtimes - name: Build and Test - run: xcodebuild clean -workspace .swiftpm/xcode/package.xcworkspace -scheme Skyflow -enableCodeCoverage YES -destination "platform=iOS Simulator,OS=16.4,name=iPhone 14" VAULT_URL="${{ secrets.VAULT_URL }}" CAVV_TEST_TOKEN="${{ secrets.CAVV_TEST_TOKEN }}" PULL_FUNDS_INTEGRATION_CONNECTION_URL="${{ secrets.PULL_FUNDS_INTEGRATION_CONNECTION_URL }}" CVV_INTEGRATION_PATH="${{ secrets.CVV_INTEGRATION_PATH }}" CVV_INTEGRATION_CONNECTION_URL="${{ secrets.CVV_INTEGRATION_CONNECTION_URL }}" CONNECTION_URL="${{ secrets.CONNECTION_URL }}" TEST_EXPIRATION_DATE_TOKEN="${{ secrets.TEST_EXPIRATION_DATE_TOKEN }}" TEST_CARD_NUMBER="${{ secrets.TEST_CARD_NUMBER }}" TEST_SKYFLOW_ID1="${{ secrets.TEST_SKYFLOW_ID1 }}" TEST_SKYFLOW_ID2="${{ secrets.TEST_SKYFLOW_ID2 }}" TEST_SKYFLOW_ID3="${{ secrets.TEST_SKYFLOW_ID3 }}" TEST_SKYFLOW_ID4="${{ secrets.TEST_SKYFLOW_ID4 }}" DETOKENIZE_TEST_TOKEN="${{ secrets.DETOKENIZE_TEST_TOKEN }}" DETOKENIZE_TEST_VALUE="${{ secrets.DETOKENIZE_TEST_VALUE }}" TOKEN_ENDPOINT="${{ secrets.TOKEN_ENDPOINT }}" PULL_FUNDS_INTEGRATION_ID="${{ secrets.PULL_FUNDS_INTEGRATION_ID }}" VISA_BASIC_AUTH="${{ secrets.VISA_BASIC_AUTH }}" CVV_INTEGRATION_ID="${{ secrets.CVV_INTEGRATION_ID }}" VAULT_ID="${{ secrets.VAULT_ID }}" -quiet test + run: xcodebuild clean -workspace .swiftpm/xcode/package.xcworkspace -scheme Skyflow -enableCodeCoverage YES -destination "platform=iOS Simulator,OS=17.0.1,name=iPhone 15" VAULT_URL="${{ secrets.VAULT_URL }}" CAVV_TEST_TOKEN="${{ secrets.CAVV_TEST_TOKEN }}" PULL_FUNDS_INTEGRATION_CONNECTION_URL="${{ secrets.PULL_FUNDS_INTEGRATION_CONNECTION_URL }}" CVV_INTEGRATION_PATH="${{ secrets.CVV_INTEGRATION_PATH }}" CVV_INTEGRATION_CONNECTION_URL="${{ secrets.CVV_INTEGRATION_CONNECTION_URL }}" CONNECTION_URL="${{ secrets.CONNECTION_URL }}" TEST_EXPIRATION_DATE_TOKEN="${{ secrets.TEST_EXPIRATION_DATE_TOKEN }}" TEST_CARD_NUMBER="${{ secrets.TEST_CARD_NUMBER }}" TEST_SKYFLOW_ID1="${{ secrets.TEST_SKYFLOW_ID1 }}" TEST_SKYFLOW_ID2="${{ secrets.TEST_SKYFLOW_ID2 }}" TEST_SKYFLOW_ID3="${{ secrets.TEST_SKYFLOW_ID3 }}" TEST_SKYFLOW_ID4="${{ secrets.TEST_SKYFLOW_ID4 }}" DETOKENIZE_TEST_TOKEN="${{ secrets.DETOKENIZE_TEST_TOKEN }}" DETOKENIZE_TEST_VALUE="${{ secrets.DETOKENIZE_TEST_VALUE }}" TOKEN_ENDPOINT="${{ secrets.TOKEN_ENDPOINT }}" PULL_FUNDS_INTEGRATION_ID="${{ secrets.PULL_FUNDS_INTEGRATION_ID }}" VISA_BASIC_AUTH="${{ secrets.VISA_BASIC_AUTH }}" CVV_INTEGRATION_ID="${{ secrets.CVV_INTEGRATION_ID }}" VAULT_ID="${{ secrets.VAULT_ID }}" -quiet test - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 From 5fe6ee0e0034082b04f646414dbaf267af5d8828 Mon Sep 17 00:00:00 2001 From: skyflow-bharti Date: Mon, 14 Apr 2025 09:27:43 +0530 Subject: [PATCH 3/6] SK-1952 fix tests --- .../skyflow_iOS_elementTests.swift | 2 +- .../skyflow_iOS_collectUtilTests.swift | 4 ++-- .../skyflow_iOS_getByIdUtilTests.swift | 6 ++++-- Tests/skyflow-iOS-utilTests/skyflow_iOS_getUtilTests.swift | 6 +++--- .../skyflow_iOS_revealUtilTests.swift | 7 ++++--- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift b/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift index 7ce9052..b6e8438 100644 --- a/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift +++ b/Tests/skyflow-iOS-elementTests/skyflow_iOS_elementTests.swift @@ -209,7 +209,7 @@ class skyflow_iOS_elementTests: XCTestCase { } func testCardExpiryValidationMMYY() { - let mmyy = "12/24" + let mmyy = "12/30" let cardexpValidation = SkyflowValidateCardExpirationDate(format: "mm/yy", error: "Invalid Card expiration date") XCTAssertTrue(SkyflowValidator.validate(input: mmyy, rules: ValidationSet(rules: [cardexpValidation])).isEmpty) diff --git a/Tests/skyflow-iOS-utilTests/skyflow_iOS_collectUtilTests.swift b/Tests/skyflow-iOS-utilTests/skyflow_iOS_collectUtilTests.swift index a9c92a7..f6952c4 100644 --- a/Tests/skyflow-iOS-utilTests/skyflow_iOS_collectUtilTests.swift +++ b/Tests/skyflow-iOS-utilTests/skyflow_iOS_collectUtilTests.swift @@ -26,7 +26,7 @@ final class skyflow_iOS_collectUtilTests: XCTestCase { } func testOnSuccessInvalidUrl() { - let expectation = XCTestExpectation() + let expectation = XCTestExpectation(description: "Invalid URL should trigger failure") let callback = DemoAPICallback(expectation: expectation) self.collectCallback.apiClient.vaultURL = "Invalid url" self.collectCallback.callback = callback @@ -35,7 +35,7 @@ final class skyflow_iOS_collectUtilTests: XCTestCase { wait(for: [expectation], timeout: 20.0) let result = callback.receivedResponse - XCTAssert(result.contains("Initialization failed. Invalid credentials. Specify a valid 'vaultURL'")) + XCTAssert(result.contains("unsupported URL")) } func testGetRequestSession() { diff --git a/Tests/skyflow-iOS-utilTests/skyflow_iOS_getByIdUtilTests.swift b/Tests/skyflow-iOS-utilTests/skyflow_iOS_getByIdUtilTests.swift index 2289beb..77c9757 100644 --- a/Tests/skyflow-iOS-utilTests/skyflow_iOS_getByIdUtilTests.swift +++ b/Tests/skyflow-iOS-utilTests/skyflow_iOS_getByIdUtilTests.swift @@ -31,14 +31,16 @@ final class skyflow_iOS_getByIdUtilTests: XCTestCase { func testApiCallbackInvalidUrl() { let expectation = XCTestExpectation(description: "expect invalid url failure") let failureCallback = DemoAPICallback(expectation: expectation) - + let record = GetByIdRecord(ids: ["one", "two"], table: "table", redaction: "REDACTED") + self.revealApiCallback.records = [record] self.revealApiCallback.connectionUrl = "invalid url" + self.revealApiCallback.apiClient.vaultURL = "dummy" self.revealApiCallback.callback = failureCallback self.revealApiCallback.onSuccess("dummy_token") wait(for: [expectation], timeout: 30.0) let result = failureCallback.data["errors"] as! [[String: NSError]] - XCTAssertEqual(result[0]["error"], ErrorCodes.INVALID_URL().getErrorObject(contextOptions: ContextOptions())) + XCTAssertEqual(result[0]["error"]?.localizedDescription, "unsupported URL") } func testGetRequestSession() { diff --git a/Tests/skyflow-iOS-utilTests/skyflow_iOS_getUtilTests.swift b/Tests/skyflow-iOS-utilTests/skyflow_iOS_getUtilTests.swift index 9291453..bffc6d4 100644 --- a/Tests/skyflow-iOS-utilTests/skyflow_iOS_getUtilTests.swift +++ b/Tests/skyflow-iOS-utilTests/skyflow_iOS_getUtilTests.swift @@ -74,14 +74,14 @@ final class skyflow_iOS_getUtilTests: XCTestCase { func testApiCallbackInvalidUrl() { let expectation = XCTestExpectation(description: "expect invalid url failure") let failureCallback = DemoAPICallback(expectation: expectation) - + let record = GetRecord(ids: ["one", "two"], table: "table", redaction: "REDACTED") self.getApiCallback.connectionUrl = "invalid url" + self.getApiCallback.records = [record] self.getApiCallback.callback = failureCallback self.getApiCallback.onSuccess("dummy_token") - wait(for: [expectation], timeout: 30.0) let result = failureCallback.data["errors"] as! [[String: NSError]] - XCTAssertEqual(result[0]["error"], ErrorCodes.INVALID_URL().getErrorObject(contextOptions: ContextOptions())) + XCTAssertEqual(result[0]["error"]?.localizedDescription, "unsupported URL") } func testGetRequestSession() { diff --git a/Tests/skyflow-iOS-utilTests/skyflow_iOS_revealUtilTests.swift b/Tests/skyflow-iOS-utilTests/skyflow_iOS_revealUtilTests.swift index 279a3b2..f09f910 100644 --- a/Tests/skyflow-iOS-utilTests/skyflow_iOS_revealUtilTests.swift +++ b/Tests/skyflow-iOS-utilTests/skyflow_iOS_revealUtilTests.swift @@ -40,12 +40,13 @@ final class skyflow_iOS_revealUtilTests: XCTestCase { func testOnSuccessInvalidUrl() { self.revealApiCallback.connectionUrl = "invalid url" + let record = RevealRequestRecord(token: "token", redaction: RedactionType.PLAIN_TEXT.rawValue) + self.revealApiCallback.records = [record] self.revealApiCallback.onSuccess("token") - - wait(for: [self.expectation], timeout: 20.0) + wait(for: [self.expectation], timeout: 10.0) let errors = callback.data["errors"] as! [[String: NSError]] XCTAssertEqual(errors.count, 1) - XCTAssertEqual(errors[0]["error"], ErrorCodes.INVALID_URL().getErrorObject(contextOptions: ContextOptions())) + XCTAssertEqual(errors[0]["error"]?.localizedDescription, "unsupported URL") } func testGetRequestSession() { From 5a9a179ac19129cb37ec2cd9681800f738cc69e5 Mon Sep 17 00:00:00 2001 From: skyflow-bharti Date: Mon, 14 Apr 2025 07:14:53 +0000 Subject: [PATCH 4/6] [AUTOMATED] Private Release 1.24.1.27af52a --- Skyflow.podspec | 4 ++-- Sources/Skyflow/Version.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Skyflow.podspec b/Skyflow.podspec index 3faf544..d98b18f 100644 --- a/Skyflow.podspec +++ b/Skyflow.podspec @@ -2,7 +2,7 @@ Pod::Spec.new do |spec| spec.name = "Skyflow" - spec.version = "1.24.1" + spec.version = "1.24.1-dev.27af52a" spec.summary = "skyflow-iOS" @@ -20,7 +20,7 @@ Pod::Spec.new do |spec| spec.ios.deployment_target = "9.0" - spec.source = { :git => "https://github.com/skyflowapi/skyflow-iOS.git", :tag => "1.24.1" } + spec.source = { :git => "https://github.com/skyflowapi/skyflow-iOS.git", :commit => "27af52a" } spec.source_files = "Sources/Skyflow/**/*.{swift}" diff --git a/Sources/Skyflow/Version.swift b/Sources/Skyflow/Version.swift index b305832..981b5ab 100644 --- a/Sources/Skyflow/Version.swift +++ b/Sources/Skyflow/Version.swift @@ -13,4 +13,4 @@ import Foundation var LangAndVersion = "iOS SDK v\(SDK_VERSION)" -var SDK_VERSION = "1.24.1" +var SDK_VERSION = "1.24.1-dev.27af52a" From c5d7a88dd49c79c747658332261309bb455c3e7b Mon Sep 17 00:00:00 2001 From: skyflow-bharti Date: Mon, 14 Apr 2025 14:27:22 +0530 Subject: [PATCH 5/6] SK-1952 update listener on update call --- Sources/Skyflow/elements/TextField.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Sources/Skyflow/elements/TextField.swift b/Sources/Skyflow/elements/TextField.swift index 4b27f55..4401b4b 100644 --- a/Sources/Skyflow/elements/TextField.swift +++ b/Sources/Skyflow/elements/TextField.swift @@ -264,13 +264,16 @@ public class TextField: SkyflowElement, Element, BaseElement { listCardTypes = schemes if let cardTypes = listCardTypes, cardTypes.count >= 2 { getDropDownIcon() - selectedCardBrand = listCardTypes?[0] + selectedCardBrand = listCardTypes?[0] + } else { + selectedCardBrand = nil } } } let t = self.textField.secureText!.replacingOccurrences(of: "-", with: "").replacingOccurrences(of: " ", with: "") let card = CardType.forCardNumber(cardNumber: t).instance updateImage(name: card.imageName, cardNumber: t) + self.onChangeHandler?((self.state as! StateforText).getStateForListener()) } let t = self.textField.secureText!.replacingOccurrences(of: "-", with: "").replacingOccurrences(of: " ", with: "") let card = CardType.forCardNumber(cardNumber: t).instance From 51e127700f2fdf0a7de9db7f29ddf5fe5a1c4e3a Mon Sep 17 00:00:00 2001 From: skyflow-bharti Date: Mon, 14 Apr 2025 09:03:06 +0000 Subject: [PATCH 6/6] [AUTOMATED] Private Release 1.24.1.c5d7a88 --- Skyflow.podspec | 4 ++-- Sources/Skyflow/Version.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Skyflow.podspec b/Skyflow.podspec index d98b18f..d210ba1 100644 --- a/Skyflow.podspec +++ b/Skyflow.podspec @@ -2,7 +2,7 @@ Pod::Spec.new do |spec| spec.name = "Skyflow" - spec.version = "1.24.1-dev.27af52a" + spec.version = "1.24.1-dev.c5d7a88" spec.summary = "skyflow-iOS" @@ -20,7 +20,7 @@ Pod::Spec.new do |spec| spec.ios.deployment_target = "9.0" - spec.source = { :git => "https://github.com/skyflowapi/skyflow-iOS.git", :commit => "27af52a" } + spec.source = { :git => "https://github.com/skyflowapi/skyflow-iOS.git", :commit => "c5d7a88" } spec.source_files = "Sources/Skyflow/**/*.{swift}" diff --git a/Sources/Skyflow/Version.swift b/Sources/Skyflow/Version.swift index 981b5ab..c13c399 100644 --- a/Sources/Skyflow/Version.swift +++ b/Sources/Skyflow/Version.swift @@ -13,4 +13,4 @@ import Foundation var LangAndVersion = "iOS SDK v\(SDK_VERSION)" -var SDK_VERSION = "1.24.1-dev.27af52a" +var SDK_VERSION = "1.24.1-dev.c5d7a88"