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()
}