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

Class Method, % Branch, % Line, % Instruction, %
MonitoringModuleKt 100% (1/1) 100% (1/1) 100% (7/7)
MonitoringModuleKt$MonitoringModule$1 100% (1/1) 100% (12/12) 100% (114/114)
MonitoringModuleKt$MonitoringModule$1$logRequestDataManager$2 0% (0/1) 0% (0/1) 0% (0/3)
MonitoringModuleKt$MonitoringModule$1$logResponseDataManager$2 0% (0/1) 0% (0/1) 0% (0/3)
MonitoringModuleKt$MonitoringModule$1$logStoringDataChecker$2 100% (1/1) 100% (5/5) 100% (21/21)
MonitoringModuleKt$MonitoringModule$1$monitoringDao$2 100% (1/1) 100% (1/1) 100% (4/4)
MonitoringModuleKt$MonitoringModule$1$monitoringDatabase$2 100% (1/1) 100% (6/6) 100% (20/20)
MonitoringModuleKt$MonitoringModule$1$monitoringInteractor$2 0% (0/1) 0% (0/5) 0% (0/15)
MonitoringModuleKt$MonitoringModule$1$monitoringMapper$2 100% (1/1) 100% (1/1) 100% (3/3)
MonitoringModuleKt$MonitoringModule$1$monitoringRepository$2 100% (1/1) 100% (7/7) 100% (21/21)
Total 70% (7/10) 82.5% (33/40) 90% (190/211)


 package cloud.mindbox.mobile_sdk.di.modules
 
 import androidx.room.Room
 import cloud.mindbox.mobile_sdk.monitoring.MonitoringInteractorImpl
 import cloud.mindbox.mobile_sdk.monitoring.data.checkers.LogStoringDataCheckerImpl
 import cloud.mindbox.mobile_sdk.monitoring.data.mappers.MonitoringMapper
 import cloud.mindbox.mobile_sdk.monitoring.data.repositories.MonitoringRepositoryImpl
 import cloud.mindbox.mobile_sdk.monitoring.data.room.MonitoringDatabase
 import cloud.mindbox.mobile_sdk.monitoring.data.room.dao.MonitoringDao
 import cloud.mindbox.mobile_sdk.monitoring.domain.interfaces.*
 import cloud.mindbox.mobile_sdk.monitoring.domain.managers.LogRequestDataManagerImpl
 import cloud.mindbox.mobile_sdk.monitoring.domain.managers.LogResponseDataManagerImpl
 import java.io.File
 
 internal const val MONITORING_DATABASE_NAME = "MonitoringDatabase"
 
 internal fun MonitoringModule(
     appContextModule: AppContextModule,
     apiModule: ApiModule,
     dataModule: DataModule,
 ): MonitoringModule = object : MonitoringModule,
     AppContextModule by appContextModule,
     ApiModule by apiModule,
     DataModule by dataModule {
 
     override val monitoringMapper: MonitoringMapper by lazy { MonitoringMapper() }
 
     override val monitoringRepository: MonitoringRepository by lazy {
         MonitoringRepositoryImpl(
             monitoringDao = monitoringDao,
             monitoringMapper = monitoringMapper,
             gson = gson,
             logStoringDataChecker = logStoringDataChecker,
             monitoringValidator = monitoringValidator,
             gatewayManager = gatewayManager
         )
     }
 
     override val logResponseDataManager: LogResponseDataManager by lazy {
         LogResponseDataManagerImpl()
     }
 
     override val logRequestDataManager: LogRequestDataManager by lazy {
         LogRequestDataManagerImpl()
     }
 
     override val logStoringDataChecker: LogStoringDataChecker by lazy {
         LogStoringDataCheckerImpl(
             File(
                 "${
                     appContext.filesDir.absolutePath.replace(
                         "files",
                         "databases"
                     )
                 }/$MONITORING_DATABASE_NAME"
             )
         )
     }
     override val monitoringInteractor: MonitoringInteractor by lazy {
         MonitoringInteractorImpl(
             mobileConfigRepository = mobileConfigRepository,
             monitoringRepository = monitoringRepository,
             logResponseDataManager = logResponseDataManager,
             logRequestDataManager = logRequestDataManager
         )
     }
     override val monitoringDatabase: MonitoringDatabase by lazy {
         Room.databaseBuilder(
             appContext,
             MonitoringDatabase::class.java,
             MONITORING_DATABASE_NAME
         )
             .fallbackToDestructiveMigration()
             .addMigrations(MonitoringDatabase.MIGRATION_1_2)
             .build()
     }
 
     override val monitoringDao: MonitoringDao by lazy {
         monitoringDatabase.monitoringDao()
     }
 }