Coverage Summary for Class: DetailStreamUseCaseImpl (com.codandotv.streamplayerapp.feature_detail.domain)
| Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| DetailStreamUseCaseImpl |
66.7%
(2/3)
|
0%
(0/2)
|
50%
(3/6)
|
13.8%
(9/65)
|
| DetailStreamUseCaseImpl$toggleItemInFavorites$1 |
|
| Total |
66.7%
(2/3)
|
0%
(0/2)
|
50%
(3/6)
|
13.8%
(9/65)
|
package com.codandotv.streamplayerapp.feature_detail.domain
import com.codandotv.streamplayerapp.feature_detail.data.DetailStreamRepository
import kotlinx.coroutines.flow.Flow
interface DetailStreamUseCase {
suspend fun getMovie(): Flow<DetailStream>
suspend fun toggleItemInFavorites(movie: DetailStream)
}
class DetailStreamUseCaseImpl(
private val detailStreamRepository: DetailStreamRepository
) : DetailStreamUseCase {
override suspend fun getMovie(): Flow<DetailStream> =
detailStreamRepository.getMovie()
override suspend fun toggleItemInFavorites(movie: DetailStream) {
if (detailStreamRepository.isFavorite(movie.id)) {
detailStreamRepository.deleteFromMyList(movie.id)
} else {
detailStreamRepository.insertToMyList(movie)
}
}
}