@@ -14,6 +14,7 @@ import Quick
14
14
class PostHogSDKTest : QuickSpec {
15
15
func getSut( preloadFeatureFlags: Bool = false ,
16
16
sendFeatureFlagEvent: Bool = false ,
17
+ captureApplicationLifecycleEvents: Bool = false ,
17
18
flushAt: Int = 1 ,
18
19
optOut: Bool = false ) -> PostHogSDK
19
20
{
@@ -23,6 +24,7 @@ class PostHogSDKTest: QuickSpec {
23
24
config. sendFeatureFlagEvent = sendFeatureFlagEvent
24
25
config. disableReachabilityForTesting = true
25
26
config. disableQueueTimerForTesting = true
27
+ config. captureApplicationLifecycleEvents = captureApplicationLifecycleEvents
26
28
config. optOut = optOut
27
29
return PostHogSDK . with ( config)
28
30
}
@@ -284,7 +286,7 @@ class PostHogSDKTest: QuickSpec {
284
286
}
285
287
286
288
it ( " capture AppBackgrounded " ) {
287
- let sut = self . getSut ( )
289
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true )
288
290
289
291
sut. handleAppDidEnterBackground ( )
290
292
@@ -300,7 +302,7 @@ class PostHogSDKTest: QuickSpec {
300
302
}
301
303
302
304
it ( " capture AppInstalled " ) {
303
- let sut = self . getSut ( )
305
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true )
304
306
305
307
sut. handleAppDidFinishLaunching ( )
306
308
@@ -318,7 +320,7 @@ class PostHogSDKTest: QuickSpec {
318
320
}
319
321
320
322
it ( " capture AppUpdated " ) {
321
- let sut = self . getSut ( )
323
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true )
322
324
323
325
let userDefaults = UserDefaults . standard
324
326
userDefaults. setValue ( " 1.0.0 " , forKey: " PHGVersionKey " )
@@ -343,7 +345,7 @@ class PostHogSDKTest: QuickSpec {
343
345
}
344
346
345
347
it ( " capture AppOpenedFromBackground from_background should be false " ) {
346
- let sut = self . getSut ( )
348
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true )
347
349
348
350
sut. handleAppDidBecomeActive ( )
349
351
@@ -360,7 +362,7 @@ class PostHogSDKTest: QuickSpec {
360
362
}
361
363
362
364
it ( " capture AppOpenedFromBackground from_background should be true " ) {
363
- let sut = self . getSut ( flushAt: 2 )
365
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true , flushAt: 2 )
364
366
365
367
sut. handleAppDidBecomeActive ( )
366
368
sut. handleAppDidBecomeActive ( )
@@ -378,7 +380,7 @@ class PostHogSDKTest: QuickSpec {
378
380
}
379
381
380
382
it ( " capture captureAppOpened " ) {
381
- let sut = self . getSut ( )
383
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true )
382
384
383
385
sut. handleAppDidBecomeActive ( )
384
386
@@ -396,6 +398,26 @@ class PostHogSDKTest: QuickSpec {
396
398
sut. close ( )
397
399
}
398
400
401
+ it ( " does not capture life cycle events " ) {
402
+ let sut = self . getSut ( )
403
+
404
+ sut. handleAppDidFinishLaunching ( )
405
+ sut. handleAppDidBecomeActive ( )
406
+ sut. handleAppDidEnterBackground ( )
407
+
408
+ sut. screen ( " test " )
409
+
410
+ let events = getBatchedEvents ( server)
411
+
412
+ expect ( events. count) == 1
413
+
414
+ let event = events. first!
415
+ expect ( event. event) == " $screen "
416
+
417
+ sut. reset ( )
418
+ sut. close ( )
419
+ }
420
+
399
421
it ( " reloadFeatureFlags adds groups if any " ) {
400
422
let sut = self . getSut ( )
401
423
@@ -527,7 +549,7 @@ class PostHogSDKTest: QuickSpec {
527
549
}
528
550
529
551
it ( " sets sessionId on app start " ) {
530
- let sut = self . getSut ( )
552
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true )
531
553
532
554
sut. handleAppDidBecomeActive ( )
533
555
@@ -571,7 +593,7 @@ class PostHogSDKTest: QuickSpec {
571
593
}
572
594
573
595
it ( " rotates to a new sessionId only after > 30 mins in the background " ) {
574
- let sut = self . getSut ( flushAt: 5 )
596
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true , flushAt: 5 )
575
597
let mockNow = MockDate ( )
576
598
sut. now = { mockNow. date }
577
599
@@ -608,7 +630,7 @@ class PostHogSDKTest: QuickSpec {
608
630
}
609
631
610
632
it ( " clears sessionId for background events after 30 mins in background " ) {
611
- let sut = self . getSut ( flushAt: 2 )
633
+ let sut = self . getSut ( captureApplicationLifecycleEvents : true , flushAt: 2 )
612
634
let mockNow = MockDate ( )
613
635
sut. now = { mockNow. date }
614
636
0 commit comments