@@ -13,32 +13,40 @@ class AutoRecordEventClientTest: XCTestCase {
1313 private var clickstream : ClickstreamContext !
1414 private var eventRecorder : MockEventRecorder !
1515 private var autoRecordEventClient : AutoRecordEventClient !
16+ private var activityTracker : MockActivityTracker !
17+ private var sessionClient : SessionClient !
1618 let testAppId = " testAppId "
1719 let testEndpoint = " https://example.com/collect "
1820
1921 override func setUp( ) async throws {
2022 UserDefaults . standard. removePersistentDomain ( forName: Bundle . main. bundleIdentifier!)
2123 let mockNetworkMonitor = MockNetworkMonitor ( )
24+ activityTracker = MockActivityTracker ( )
2225 let contextConfiguration = ClickstreamContextConfiguration ( appId: testAppId,
2326 endpoint: testEndpoint,
2427 sendEventsInterval: 10_000 ,
2528 isTrackAppExceptionEvents: true ,
2629 isCompressEvents: false )
2730 clickstream = try ClickstreamContext ( with: contextConfiguration)
2831 clickstream. networkMonitor = mockNetworkMonitor
32+ sessionClient = SessionClient ( activityTracker: activityTracker, clickstream: clickstream)
33+ clickstream. sessionClient = sessionClient
2934 eventRecorder = MockEventRecorder ( )
3035 let analyticsClient = try AnalyticsClient (
3136 clickstream: clickstream,
3237 eventRecorder: eventRecorder,
3338 sessionProvider: { nil }
3439 )
3540 clickstream. analyticsClient = analyticsClient
36- autoRecordEventClient = AutoRecordEventClient ( clickstream : clickstream )
37- analyticsClient . autoRecordClient = autoRecordEventClient
41+
42+ autoRecordEventClient = sessionClient . autoRecordClient
3843 }
3944
4045 override func tearDown( ) {
4146 eventRecorder = nil
47+ activityTracker = nil
48+ sessionClient = nil
49+ activityTracker? . resetCounters ( )
4250 }
4351
4452 func testAppVersionUpdate( ) {
@@ -70,14 +78,15 @@ class AutoRecordEventClientTest: XCTestCase {
7078 }
7179
7280 func testOneScreenView( ) {
81+ activityTracker. callback ? ( . runningInForeground)
7382 autoRecordEventClient. setIsEntrances ( )
7483 let viewController = MockViewControllerA ( )
7584 let window = UIWindow ( frame: UIScreen . main. bounds)
7685 window. rootViewController = viewController
7786 window. makeKeyAndVisible ( )
7887 XCTAssertTrue ( viewController. viewDidAppearCalled)
7988
80- XCTAssertTrue ( eventRecorder. saveCount == 1 )
89+ XCTAssertTrue ( eventRecorder. saveCount == 4 )
8190 XCTAssertEqual ( eventRecorder. lastSavedEvent? . eventType, Event . PresetEvent. SCREEN_VIEW)
8291 XCTAssertNotNil ( eventRecorder. lastSavedEvent!. attributes [ Event . ReservedAttribute. SCREEN_ID] )
8392 XCTAssertNotNil ( eventRecorder. lastSavedEvent!. attributes [ Event . ReservedAttribute. SCREEN_NAME] )
@@ -137,7 +146,7 @@ class AutoRecordEventClientTest: XCTestCase {
137146 let window = UIWindow ( frame: UIScreen . main. bounds)
138147 window. rootViewController = viewControllerA
139148 window. makeKeyAndVisible ( )
140-
149+
141150 autoRecordEventClient. updateLastScreenStartTimestamp ( Date ( ) . millisecondsSince1970 - 1_100 )
142151 Thread . sleep ( forTimeInterval: 0.02 )
143152 window. rootViewController = viewControllerB
0 commit comments