@@ -66,14 +66,14 @@ class MixpanelOptOutTests: MixpanelBaseTests {
66
66
waitForTrackingQueue ( testMixpanel)
67
67
waitForTrackingQueue ( testMixpanel)
68
68
let eventQueueValue = eventQueue ( token: testMixpanel. apiToken)
69
- let props = eventQueueValue [ 1 ] [ " properties " ] as? InternalProperties
69
+ let props = eventQueueValue [ 0 ] [ " properties " ] as? InternalProperties
70
70
XCTAssertEqual ( props![ " string " ] as? String , " yello " )
71
71
XCTAssertEqual ( props![ " number " ] as? NSNumber , 3 )
72
72
compareDate ( dateString: props![ " date " ] as! String , dateDate: now)
73
73
XCTAssertEqual ( props![ " $app_version " ] as? String , " override " , " reserved property override failed " )
74
74
75
75
if eventQueueValue. count > 0 {
76
- let event = eventQueueValue [ 1 ]
76
+ let event = eventQueueValue [ 0 ]
77
77
XCTAssertEqual ( ( event [ " event " ] as? String ) , " $opt_in " , " When opted in, a track '$opt_in' should have been queued " )
78
78
}
79
79
else {
@@ -238,6 +238,14 @@ class MixpanelOptOutTests: MixpanelBaseTests {
238
238
XCTAssertTrue ( peopleQueue ( token: testMixpanel. apiToken) . count == 1 , " When opted out, people queue should not be flushed " )
239
239
removeDBfile ( testMixpanel. apiToken)
240
240
}
241
+
242
+ func testOptOutByDefaultTrueSkipsFirstAppOpen( )
243
+ {
244
+ let testMixpanel = Mixpanel . initialize ( token: randomId ( ) , trackAutomaticEvents: true , optOutTrackingByDefault: true )
245
+ waitForTrackingQueue ( testMixpanel)
246
+ XCTAssertTrue ( eventQueue ( token: testMixpanel. apiToken) . count == 0 , " When opted out, first app open should not be tracked " )
247
+ removeDBfile ( testMixpanel. apiToken)
248
+ }
241
249
242
250
func testOptOutWillSkipFlushEvent( )
243
251
{
@@ -250,15 +258,15 @@ class MixpanelOptOutTests: MixpanelBaseTests {
250
258
testMixpanel. track ( event: " event \( i) " )
251
259
}
252
260
waitForTrackingQueue ( testMixpanel)
253
- XCTAssertTrue ( eventQueue ( token: testMixpanel. apiToken) . count == 3 , " When opted in, events should have been queued " )
261
+ XCTAssertTrue ( eventQueue ( token: testMixpanel. apiToken) . count == 2 , " When opted in, events should have been queued " )
254
262
255
263
testMixpanel. optOutTracking ( )
256
264
waitForTrackingQueue ( testMixpanel)
257
265
258
266
testMixpanel. flush ( )
259
267
waitForTrackingQueue ( testMixpanel)
260
268
261
- XCTAssertTrue ( eventQueue ( token: testMixpanel. apiToken) . count == 3 , " When opted out, events should not be flushed " )
269
+ XCTAssertTrue ( eventQueue ( token: testMixpanel. apiToken) . count == 2 , " When opted out, events should not be flushed " )
262
270
removeDBfile ( testMixpanel. apiToken)
263
271
}
264
272
}
0 commit comments