Coverage Summary for Class: DomainModuleKt (cloud.mindbox.mobile_sdk.di.modules)

Class Method, % Branch, % Line, % Instruction, %
DomainModuleKt 100% (1/1) 100% (1/1) 100% (6/6)
DomainModuleKt$DomainModule$1 14.3% (1/7) 40% (6/15) 61.7% (50/81)
DomainModuleKt$DomainModule$1$callbackInteractor$2 0% (0/1) 0% (0/1) 0% (0/6)
DomainModuleKt$DomainModule$1$inAppInteractor$2 0% (0/1) 0% (0/13) 0% (0/40)
DomainModuleKt$DomainModule$1$inAppProcessingManager$2 0% (0/1) 0% (0/7) 0% (0/21)
Total 18.2% (2/11) 18.9% (7/37) 36.4% (56/154)


 package cloud.mindbox.mobile_sdk.di.modules
 
 import cloud.mindbox.mobile_sdk.abtests.CustomerAbMixer
 import cloud.mindbox.mobile_sdk.abtests.CustomerAbMixerImpl
 import cloud.mindbox.mobile_sdk.abtests.InAppABTestLogic
 import cloud.mindbox.mobile_sdk.inapp.domain.*
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.interactors.CallbackInteractor
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.interactors.InAppInteractor
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.managers.InAppEventManager
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.managers.InAppFilteringManager
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.managers.InAppFrequencyManager
 import cloud.mindbox.mobile_sdk.inapp.domain.interfaces.managers.InAppProcessingManager
 import cloud.mindbox.mobile_sdk.managers.UserVisitManager
 import cloud.mindbox.mobile_sdk.managers.UserVisitManagerImpl
 
 internal fun DomainModule(
     dataModule: DataModule,
     apiModule: ApiModule
 ): DomainModule = object : DomainModule,
     DataModule by dataModule,
     ApiModule by apiModule {
 
     override val inAppInteractor: InAppInteractor by lazy {
         InAppInteractorImpl(
             mobileConfigRepository = mobileConfigRepository,
             inAppRepository = inAppRepository,
             inAppFilteringManager = inAppFilteringManager,
             inAppEventManager = inAppEventManager,
             inAppProcessingManager = inAppProcessingManager,
             inAppABTestLogic = inAppABTestLogic,
             inAppFrequencyManager = inAppFrequencyManager,
             maxInappsPerSessionLimitChecker = maxInappsPerSessionLimitChecker,
             maxInappsPerDayLimitChecker = maxInappsPerDayLimitChecker,
             minIntervalBetweenShowsLimitChecker = minIntervalBetweenShowsLimitChecker,
             timeProvider = timeProvider,
             sessionStorageManager = sessionStorageManager,
         )
     }
     override val callbackInteractor: CallbackInteractor by lazy {
         CallbackInteractorImpl(callbackRepository)
     }
 
     override val inAppProcessingManager: InAppProcessingManager by lazy {
         InAppProcessingManagerImpl(
             inAppGeoRepository = inAppGeoRepository,
             inAppSegmentationRepository = inAppSegmentationRepository,
             inAppTargetingErrorRepository = inAppTargetingErrorRepository,
             inAppContentFetcher = inAppContentFetcher,
             inAppRepository = inAppRepository,
             inAppFailureTracker = inAppFailureTracker
         )
     }
 
     override val inAppEventManager: InAppEventManager
         get() = InAppEventManagerImpl()
 
     override val inAppFilteringManager: InAppFilteringManager
         get() = InAppFilteringManagerImpl(
             inAppRepository = inAppRepository
         )
 
     override val inAppABTestLogic: InAppABTestLogic
         get() = InAppABTestLogic(
             mixer = customerAbMixer,
             repository = mobileConfigRepository
         )
 
     override val userVisitManager: UserVisitManager
         get() = UserVisitManagerImpl()
 
     override val inAppFrequencyManager: InAppFrequencyManager
         get() = InAppFrequencyManagerImpl(inAppRepository)
 
     override val customerAbMixer: CustomerAbMixer
         get() = CustomerAbMixerImpl()
 }