     struct FirebaseNotificationsTokenRegistrationTestContext {
         var tokenRegistration: FirebaseNotificationsTokenRegistration
         var capturingFirebaseAdapter: CapturingFirebaseAdapter
+        var capturingFCMDeviceRegister: CapturingFCMDeviceRegistration
 
         func registerDeviceToken(deviceToken: Data = Data()) {
             tokenRegistration.registerDevicePushToken(deviceToken)

        unsubscribedTopics.append(topic)
    }

    func didSubscribeToTopic(_ topic: String) -> Bool {
        return subscribedTopics.contains(topic)
    }


    private var buildConfiguration: BuildConfigurationProviding
    private var firebaseAdapter: FirebaseAdapter
    private var fcmRegistration: FCMDeviceRegistration

    init(buildConfiguration: BuildConfigurationProviding,
         firebaseAdapter: FirebaseAdapter,
         fcmRegistration: FCMDeviceRegistration) {
        self.buildConfiguration = buildConfiguration
        self.firebaseAdapter = firebaseAdapter
        self.fcmRegistration = fcmRegistration


    }

    func registerDevicePushToken(_ token: Data) {
        fcmRegistration.registerFCM(firebaseAdapter.fcmToken)
        firebaseAdapter.setAPNSToken(deviceToken: token)
        firebaseAdapter.subscribe(toTopic: Topic.announcements.rawValue)

