Coverage Summary for Class: MonitoringMapper (cloud.mindbox.mobile_sdk.monitoring.data.mappers)

Class Class, % Method, % Branch, % Line, % Instruction, %
MonitoringMapper 100% (1/1) 20% (1/5) 8.3% (1/12) 3.7% (2/54)


 package cloud.mindbox.mobile_sdk.monitoring.data.mappers
 
 import cloud.mindbox.mobile_sdk.convertToZonedDateTimeWithZ
 import cloud.mindbox.mobile_sdk.models.operation.request.LogResponseDto
 import cloud.mindbox.mobile_sdk.monitoring.data.room.entities.MonitoringEntity
 import cloud.mindbox.mobile_sdk.monitoring.domain.models.LogResponse
 
 internal class MonitoringMapper {
 
     fun mapLogInfoToMonitoringEntity(zonedDateTime: String, message: String): MonitoringEntity {
         return MonitoringEntity(time = zonedDateTime, log = message)
     }
 
     fun mapMonitoringEntityListToLogResponseList(logs: List<MonitoringEntity>): List<LogResponse> {
         return logs.map { monitoringEntity ->
             mapMonitoringEntityToLogResponse(monitoringEntity)
         }
     }
 
     fun mapMonitoringEntityToLogResponse(monitoringEntity: MonitoringEntity): LogResponse {
         return LogResponse(
             zonedDateTime = monitoringEntity.time.convertToZonedDateTimeWithZ(),
             log = monitoringEntity.log
         )
     }
 
     fun mapMonitoringEntityToLogInfo(
         monitoringStatus: String,
         requestId: String,
         monitoringEntityList: List<LogResponse>,
     ): LogResponseDto =
         monitoringEntityList.fold(
             initial = LogResponseDto(
                 status = monitoringStatus, requestId = requestId, content = mutableListOf()
             )
         ) { sum, term ->
             sum.content.add("${term.zonedDateTime} ${term.log}")
             sum
         }
 }