Skip to content

Commit 509d3ac

Browse files
vuid_optln: add test cases
1 parent 2066d0f commit 509d3ac

File tree

3 files changed

+29
-10
lines changed

3 files changed

+29
-10
lines changed

Sources/ODP/OdpManager.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ public class OdpManager {
8181
completionHandler: completionHandler)
8282
}
8383

84+
func sendInitializedEvent(vuid: String) throws {
85+
guard enabled else { throw OptimizelyError.odpNotEnabled }
86+
guard odpConfig.eventQueueingAllowed else { throw OptimizelyError.odpNotIntegrated }
87+
eventManager.sendInitializedEvent(vuid: vuid)
88+
}
89+
8490
func identifyUser(userId: String) {
8591
guard enabled else {
8692
logger.d("ODP identify event is not dispatched (ODP disabled).")

Sources/Optimizely/OptimizelyClient.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,7 @@ open class OptimizelyClient: NSObject {
121121
self.notificationCenter = HandlerRegistryService.shared.injectNotificationCenter(sdkKey: self.sdkKey)
122122
if let _vuid = vuid {
123123
self.odpManager.vuid = _vuid
124-
try? sendOdpEvent(type: Constants.ODP.eventType,
125-
action: "client_initialized",
126-
identifiers: [
127-
Constants.ODP.keyForVuid: _vuid
128-
],
129-
data: [:])
130-
124+
sendInitializedEvent(vuid: _vuid)
131125
}
132126
logger.d("SDK Version: \(version)")
133127
}
@@ -984,6 +978,10 @@ extension OptimizelyClient {
984978
data: data)
985979
}
986980

981+
func sendInitializedEvent(vuid: String) {
982+
try? odpManager.sendInitializedEvent(vuid: vuid)
983+
}
984+
987985
func identifyUserToOdp(userId: String) {
988986
odpManager.identifyUser(userId: userId)
989987
}

Tests/OptimizelyTests-APIs/OptimizelyClientTests_ODP.swift

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,24 @@ class OptimizelyClientTests_ODP: XCTestCase {
194194
XCTAssert(optimizely.vuid!.starts(with: "vuid_"))
195195
}
196196

197-
func testVuidDiabled() {
198-
// Default client vuid diabled
199-
XCTAssertNil(optimizely.vuid)
197+
func test_register_vuid_autometically_when_enabled() {
198+
let settings = OptimizelySdkSettings(enableVuid: true)
199+
optimizely = OptimizelyClient(sdkKey: OTUtils.randomSdkKey, settings: settings)
200+
let eventManager = optimizely.odpManager.eventManager!
201+
let evt = eventManager.eventQueue.getFirstItem()!
202+
203+
XCTAssertEqual("fullstack", evt.type)
204+
XCTAssertEqual("client_initialized", evt.action)
205+
XCTAssertEqual(["vuid": optimizely.vuid], evt.identifiers)
206+
XCTAssertNotNil(optimizely.vuid)
207+
}
208+
209+
func test_vuid_does_not_register_autometically_when_enabled_but_odp_disabled() {
210+
let settings = OptimizelySdkSettings(disableOdp: true, enableVuid: true)
211+
optimizely = OptimizelyClient(sdkKey: OTUtils.randomSdkKey, settings: settings)
212+
XCTAssertNotNil(optimizely.vuid)
213+
let eventManager = optimizely.odpManager.eventManager
214+
XCTAssertNil(eventManager)
200215
}
201216

202217
// MARK: - OdpConfig Update

0 commit comments

Comments
 (0)