@@ -33,25 +33,38 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
33
33
34
34
optimizely = OptimizelyClient ( sdkKey: sdkKey)
35
35
optimizely. odpManager = odpManager
36
-
37
- user = optimizely. createUserContext ( userId: kUserId)
38
36
}
39
37
40
38
// MARK: - identify
41
39
42
40
func testIdentifyCalledAutomatically( ) {
41
+ user = optimizely. createUserContext ( userId: kUserId)
43
42
sleep ( 1 )
44
- XCTAssertEqual ( true , odpManager. identifyCalled, " identifyUser is implicitly called on UserContext init " )
43
+ XCTAssert ( odpManager. identifyCalled, " identifyUser is implicitly called on UserContext init " )
45
44
XCTAssertEqual ( kUserId, odpManager. userId)
46
45
}
47
46
47
+ func testIdentifyNotCalledForLegacyAPIs( ) {
48
+ try ? optimizely. start ( datafile: datafile)
49
+ _ = try ? optimizely. activate ( experimentKey: " experiment-segment " , userId: kUserId)
50
+ _ = try ? optimizely. getVariation ( experimentKey: " experiment-segment " , userId: kUserId)
51
+ _ = try ? optimizely. getAllFeatureVariables ( featureKey: " flag-segment " , userId: kUserId)
52
+ _ = optimizely. isFeatureEnabled ( featureKey: " flag-segment " , userId: kUserId)
53
+ try ? optimizely. track ( eventKey: " event1 " , userId: kUserId)
54
+
55
+ sleep ( 1 )
56
+ XCTAssertFalse ( odpManager. identifyCalled, " identifyUser is implicitly called on UserContext init " )
57
+ }
58
+
48
59
// MARK: - isQualifiedFor
49
60
50
61
func testIsQualifiedFor( ) {
62
+ user = optimizely. createUserContext ( userId: kUserId)
63
+
51
64
XCTAssertFalse ( user. isQualifiedFor ( segment: " a " ) )
52
65
53
66
user. qualifiedSegments = [ " a " , " b " ]
54
- XCTAssertTrue ( user. isQualifiedFor ( segment: " a " ) )
67
+ XCTAssert ( user. isQualifiedFor ( segment: " a " ) )
55
68
XCTAssertFalse ( user. isQualifiedFor ( segment: " x " ) )
56
69
57
70
user. qualifiedSegments = [ ]
@@ -62,6 +75,7 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
62
75
63
76
func testFetchQualifiedSegments_successDefaultUser( ) {
64
77
try ? optimizely. start ( datafile: datafile)
78
+ user = optimizely. createUserContext ( userId: kUserId)
65
79
66
80
let sem = DispatchSemaphore ( value: 0 )
67
81
user. fetchQualifiedSegments { segments, error in
@@ -76,6 +90,7 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
76
90
// MARK: - Failure
77
91
78
92
func testFetchQualifiedSegments_sdkNotReady( ) {
93
+ user = optimizely. createUserContext ( userId: kUserId)
79
94
user. optimizely = nil
80
95
user. qualifiedSegments = [ " dummy " ]
81
96
@@ -90,6 +105,7 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
90
105
}
91
106
92
107
func testFetchQualifiedSegments_fetchFailed( ) {
108
+ user = optimizely. createUserContext ( userId: kUserId)
93
109
user. qualifiedSegments = [ " dummy " ]
94
110
95
111
// ODP apiKey is not available
@@ -108,7 +124,8 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
108
124
109
125
func testFetchQualifiedSegments_segmentsToCheck_validAfterStart( ) {
110
126
try ? optimizely. start ( datafile: datafile)
111
-
127
+ user = optimizely. createUserContext ( userId: kUserId)
128
+
112
129
let sem = DispatchSemaphore ( value: 0 )
113
130
user. fetchQualifiedSegments { _, _ in
114
131
sem. signal ( )
@@ -121,7 +138,8 @@ class OptimizelyUserContextTests_ODP: XCTestCase {
121
138
func testFetchQualifiedSegments_segmentsNotUsed( ) {
122
139
let datafile = OTUtils . loadJSONDatafile ( " odp_integrated_no_segments " ) !
123
140
try ? optimizely. start ( datafile: datafile)
124
-
141
+ user = optimizely. createUserContext ( userId: kUserId)
142
+
125
143
let sem = DispatchSemaphore ( value: 0 )
126
144
user. fetchQualifiedSegments { segments, error in
127
145
XCTAssertNil ( error)
@@ -139,6 +157,7 @@ extension OptimizelyUserContextTests_ODP {
139
157
140
158
func testFetchQualifiedSegments_parameters( ) {
141
159
try ? optimizely. start ( datafile: datafile)
160
+ user = optimizely. createUserContext ( userId: kUserId)
142
161
143
162
let sem = DispatchSemaphore ( value: 0 )
144
163
user. fetchQualifiedSegments ( options: [ . ignoreCache] ) { segments, error in
@@ -158,6 +177,7 @@ extension OptimizelyUserContextTests_ODP {
158
177
XCTAssertNil ( odpManager. odpConfig. apiHost)
159
178
160
179
try ? optimizely. start ( datafile: " invalid " )
180
+ user = optimizely. createUserContext ( userId: kUserId)
161
181
162
182
XCTAssertNil ( odpManager. odpConfig. apiKey)
163
183
XCTAssertNil ( odpManager. odpConfig. apiHost)
0 commit comments