Skip to content

Commit f27bac5

Browse files
authored
Merge pull request #194 from Iterable/testing/MOB-859-test-deprecated-trackinappclick
[MOB-859] Added test for deprecated trackInAppClick
2 parents 9579184 + 4cf9a12 commit f27bac5

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

Tests/swift-sdk-swift-tests/DeprecatedFunctionsTests.swift

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import XCTest
1313
class DeprecatedFunctionsTests: XCTestCase {
1414
private var apiKey = "123123123"
1515
private var email = "[email protected]"
16+
private var userId = "full-metal-alchemist"
1617

1718
func testDeprecatedTrackInAppOpen() {
1819
let message = IterableInAppMessage(messageId: "message1", campaignId: "", content: getEmptyInAppContent())
@@ -46,6 +47,53 @@ class DeprecatedFunctionsTests: XCTestCase {
4647
}
4748

4849
IterableAPI.track(inAppOpen: message.messageId)
50+
51+
wait(for: [expectation1], timeout: testExpectationTimeout)
52+
}
53+
54+
func testDeprecatedTrackInAppClick() {
55+
let message = IterableInAppMessage(messageId: "message1",
56+
campaignId: "",
57+
trigger: IterableInAppTrigger(dict: [.ITBL_IN_APP_TRIGGER_TYPE: "immediate"]),
58+
createdAt: nil,
59+
expiresAt: nil,
60+
content: IterableHtmlInAppContent(edgeInsets: .zero, backgroundAlpha: 0.0, html: ""),
61+
saveToInbox: false,
62+
inboxMetadata: nil,
63+
customPayload: nil)
64+
let buttonUrl = "http://somewhere.com"
65+
let expectation1 = expectation(description: "track in app click (DEPRECATED VERSION)")
66+
67+
let networkSession = MockNetworkSession(statusCode: 200)
68+
IterableAPI.initializeForTesting(apiKey: apiKey, networkSession: networkSession)
69+
IterableAPI.userId = userId
70+
71+
networkSession.callback = { _, _, _ in
72+
TestUtils.validate(request: networkSession.request!,
73+
requestType: .post,
74+
apiEndPoint: .ITBL_ENDPOINT_API,
75+
path: .ITBL_PATH_TRACK_INAPP_CLICK,
76+
queryParams: [])
77+
78+
TestUtils.validateHeader(networkSession.request!, self.apiKey)
79+
80+
let body = networkSession.getRequestBody() as! [String: Any]
81+
82+
TestUtils.validateDeprecatedMessageContext(messageId: message.messageId,
83+
userId: self.userId,
84+
saveToInbox: false,
85+
silentInbox: false,
86+
inBody: body)
87+
88+
TestUtils.validateDeviceInfo(inBody: body)
89+
90+
TestUtils.validateMatch(keyPath: KeyPath(.clickedUrl), value: buttonUrl, inDictionary: body)
91+
92+
expectation1.fulfill()
93+
}
94+
95+
IterableAPI.track(inAppClick: message.messageId, buttonURL: buttonUrl)
96+
4997
wait(for: [expectation1], timeout: testExpectationTimeout)
5098
}
5199

Tests/swift-sdk-swift-tests/InAppParsingTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class InAppParsingTests: XCTestCase {
138138
XCTAssert(HtmlContentParser.getBackgroundAlpha(fromInAppSettings: ["backgroundAlpha": 1]) == 1.0)
139139
}
140140

141-
func testTrackInAppClickWithButtonUrl() {
141+
func testTrackInAppClickWithClickedUrl() {
142142
let message = IterableInAppMessage(messageId: "message1",
143143
campaignId: "",
144144
trigger: IterableInAppTrigger(dict: [.ITBL_IN_APP_TRIGGER_TYPE: "immediate"]),

0 commit comments

Comments
 (0)