From a28f594375b133bf1ac0946a19c42d47e473547d Mon Sep 17 00:00:00 2001 From: Jay Kim Date: Tue, 7 Mar 2023 21:48:42 -0800 Subject: [PATCH 1/2] encapsulate result of actionrunner.execute --- swift-sdk/Internal/DeepLinkManager.swift | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/swift-sdk/Internal/DeepLinkManager.swift b/swift-sdk/Internal/DeepLinkManager.swift index 19cf5e23b..94111da34 100644 --- a/swift-sdk/Internal/DeepLinkManager.swift +++ b/swift-sdk/Internal/DeepLinkManager.swift @@ -46,13 +46,16 @@ class DeepLinkManager: NSObject { if let action = IterableAction.actionOpenUrl(fromUrlString: url.absoluteString) { let context = IterableActionContext(action: action, source: .universalLink) - ActionRunner.execute(action: action, - context: context, - urlHandler: IterableUtil.urlHandler(fromUrlDelegate: urlDelegate, - inContext: context), - urlOpener: urlOpener, - allowedProtocols: allowedProtocols) + let result = ActionRunner.execute(action: action, + context: context, + urlHandler: IterableUtil.urlHandler(fromUrlDelegate: urlDelegate, + inContext: context), + urlOpener: urlOpener, + allowedProtocols: allowedProtocols) + + return (result, Fulfill(value: nil)) } + return (false, Fulfill(value: nil)) } } From 942360d83fa355e51b35a7a4fc1b93a020824461 Mon Sep 17 00:00:00 2001 From: Jay Kim Date: Tue, 7 Mar 2023 22:12:36 -0800 Subject: [PATCH 2/2] rename and fix var in test to represent correctly --- tests/unit-tests/DeepLinkTests.swift | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tests/unit-tests/DeepLinkTests.swift b/tests/unit-tests/DeepLinkTests.swift index f71ee9db2..712ee3aaf 100644 --- a/tests/unit-tests/DeepLinkTests.swift +++ b/tests/unit-tests/DeepLinkTests.swift @@ -44,10 +44,11 @@ class DeepLinkTests: XCTestCase { messageId: messageId) let deepLinkManager = DeepLinkManager(redirectNetworkSessionProvider: networkSessionProvider) - let (isIterableLink, attributionInfoFuture) = deepLinkManager.handleUniversalLink(URL(string: iterableRewriteURL)!, - urlDelegate: mockUrlDelegate, - urlOpener: MockUrlOpener()) - XCTAssertTrue(isIterableLink) + let (shouldHandleLink, attributionInfoFuture) = deepLinkManager.handleUniversalLink(URL(string: iterableRewriteURL)!, + urlDelegate: mockUrlDelegate, + urlOpener: MockUrlOpener()) + XCTAssertTrue(shouldHandleLink) + attributionInfoFuture.onSuccess { attributionInfo in XCTAssertEqual(attributionInfo?.campaignId, NSNumber(value: campaignId)) XCTAssertEqual(attributionInfo?.templateId, NSNumber(value: templateId)) @@ -61,6 +62,7 @@ class DeepLinkTests: XCTestCase { let expectation1 = expectation(description: "testUniversalDeepLinkNoRewrite") let mockUrlDelegate = MockUrlDelegate(returnValue: true) + mockUrlDelegate.callback = { url, context in XCTAssertEqual(url.absoluteString, self.iterableNoRewriteURL) XCTAssertTrue(Thread.isMainThread) @@ -70,11 +72,12 @@ class DeepLinkTests: XCTestCase { let deepLinkManager = DeepLinkManager(redirectNetworkSessionProvider: createNoRedirectNetworkSessionProvider()) - let (isIterableLink, _) = deepLinkManager.handleUniversalLink(URL(string: iterableNoRewriteURL)!, - urlDelegate: mockUrlDelegate, - urlOpener: MockUrlOpener()) + let (shouldHandleLink, _) = deepLinkManager.handleUniversalLink(URL(string: iterableNoRewriteURL)!, + urlDelegate: mockUrlDelegate, + urlOpener: MockUrlOpener()) + + XCTAssertTrue(shouldHandleLink) - XCTAssertFalse(isIterableLink) wait(for: [expectation1], timeout: testExpectationTimeout) }