@@ -308,15 +308,18 @@ final class FlagsClientTests: XCTestCase {
308308 date: . mockAny( )
309309 )
310310 let data = try JSONEncoder ( ) . encode ( initialState)
311- let messageReceiver = FeatureMessageReceiverMock ( )
312311 let core = SingleFeatureCoreMock < FlagsFeature > (
313312 dataStore: DataStoreMock (
314313 storage: [
315314 FlagsClient . defaultName: . value( data, dataStoreDefaultKeyVersion)
316315 ]
317- ) ,
318- messageReceiver: messageReceiver
316+ )
319317 )
318+ var rumMessages : [ RUMFlagEvaluationMessage ] = [ ]
319+ let subscription = core. messageBus. subscribe { ( msg: RUMFlagEvaluationMessage , _) in
320+ rumMessages. append ( msg)
321+ }
322+ defer { core. messageBus. unsubscribe ( subscription) }
320323
321324 // When
322325 Flags . enable ( with: . init( trackExposures: false ) , in: core)
@@ -326,7 +329,7 @@ final class FlagsClientTests: XCTestCase {
326329
327330 // Then
328331 XCTAssertEqual ( core. events ( ofType: ExposureEvent . self) . count, 0 , " No exposure events should be written " )
329- XCTAssertEqual ( messageReceiver . messages . filter ( \ . isRUMMessage ) . count, 1 , " RUM integration should still work " )
332+ XCTAssertEqual ( rumMessages . count, 1 , " RUM integration should still work " )
330333 }
331334
332335 func testRUMIntegrationDisabled( ) throws {
@@ -337,15 +340,18 @@ final class FlagsClientTests: XCTestCase {
337340 date: . mockAny( )
338341 )
339342 let data = try JSONEncoder ( ) . encode ( initialState)
340- let messageReceiver = FeatureMessageReceiverMock ( )
341343 let core = SingleFeatureCoreMock < FlagsFeature > (
342344 dataStore: DataStoreMock (
343345 storage: [
344346 FlagsClient . defaultName: . value( data, dataStoreDefaultKeyVersion)
345347 ]
346- ) ,
347- messageReceiver: messageReceiver
348+ )
348349 )
350+ var rumMessages : [ RUMFlagEvaluationMessage ] = [ ]
351+ let subscription = core. messageBus. subscribe { ( msg: RUMFlagEvaluationMessage , _) in
352+ rumMessages. append ( msg)
353+ }
354+ defer { core. messageBus. unsubscribe ( subscription) }
349355
350356 // When
351357 Flags . enable ( with: . init( rumIntegrationEnabled: false ) , in: core)
@@ -355,7 +361,7 @@ final class FlagsClientTests: XCTestCase {
355361
356362 // Then
357363 XCTAssertEqual ( core. events ( ofType: ExposureEvent . self) . count, 1 , " Exposure should still be logged " )
358- XCTAssertEqual ( messageReceiver . messages . filter ( \ . isRUMMessage ) . count, 0 , " No RUM messages should be sent " )
364+ XCTAssertEqual ( rumMessages . count, 0 , " No RUM messages should be sent " )
359365 }
360366
361367 // MARK: - Internal methods consumed by the React Native SDK
0 commit comments