fix(android): LibraryViewModelTest — pass PlayerController to ctor
92a9b55 added PlayerController to LibraryViewModel for the Library
"Shuffle all" button. Tests need a relaxed mock; none of the four
cases exercise shuffleAll() so the mock just satisfies the
constructor.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+21
-4
@@ -5,6 +5,7 @@ import com.fabledsword.minstrel.cache.sync.SyncController
|
|||||||
import com.fabledsword.minstrel.library.data.LibraryRepository
|
import com.fabledsword.minstrel.library.data.LibraryRepository
|
||||||
import com.fabledsword.minstrel.models.AlbumRef
|
import com.fabledsword.minstrel.models.AlbumRef
|
||||||
import com.fabledsword.minstrel.models.ArtistRef
|
import com.fabledsword.minstrel.models.ArtistRef
|
||||||
|
import com.fabledsword.minstrel.player.PlayerController
|
||||||
import com.fabledsword.minstrel.testutil.MainDispatcherExtension
|
import com.fabledsword.minstrel.testutil.MainDispatcherExtension
|
||||||
import io.mockk.every
|
import io.mockk.every
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
@@ -26,7 +27,11 @@ class LibraryViewModelTest {
|
|||||||
every { repo.observeArtists() } returns MutableSharedFlow()
|
every { repo.observeArtists() } returns MutableSharedFlow()
|
||||||
every { repo.observeAlbums() } returns MutableSharedFlow()
|
every { repo.observeAlbums() } returns MutableSharedFlow()
|
||||||
|
|
||||||
val vm = LibraryViewModel(repo, mockk<SyncController>(relaxed = true))
|
val vm = LibraryViewModel(
|
||||||
|
repo,
|
||||||
|
mockk<SyncController>(relaxed = true),
|
||||||
|
mockk<PlayerController>(relaxed = true),
|
||||||
|
)
|
||||||
|
|
||||||
assertEquals(LibraryUiState.Loading, vm.uiState.value)
|
assertEquals(LibraryUiState.Loading, vm.uiState.value)
|
||||||
}
|
}
|
||||||
@@ -44,7 +49,11 @@ class LibraryViewModelTest {
|
|||||||
every { repo.observeArtists() } returns flowOf(emptyList())
|
every { repo.observeArtists() } returns flowOf(emptyList())
|
||||||
every { repo.observeAlbums() } returns flowOf(emptyList())
|
every { repo.observeAlbums() } returns flowOf(emptyList())
|
||||||
|
|
||||||
val vm = LibraryViewModel(repo, mockk<SyncController>(relaxed = true))
|
val vm = LibraryViewModel(
|
||||||
|
repo,
|
||||||
|
mockk<SyncController>(relaxed = true),
|
||||||
|
mockk<PlayerController>(relaxed = true),
|
||||||
|
)
|
||||||
|
|
||||||
vm.uiState.test {
|
vm.uiState.test {
|
||||||
assertEquals(LibraryUiState.Empty, awaitItem())
|
assertEquals(LibraryUiState.Empty, awaitItem())
|
||||||
@@ -60,7 +69,11 @@ class LibraryViewModelTest {
|
|||||||
every { repo.observeAlbums() } returns
|
every { repo.observeAlbums() } returns
|
||||||
flowOf(listOf(AlbumRef(id = "al1", title = "Geogaddi", artistId = "a1")))
|
flowOf(listOf(AlbumRef(id = "al1", title = "Geogaddi", artistId = "a1")))
|
||||||
|
|
||||||
val vm = LibraryViewModel(repo, mockk<SyncController>(relaxed = true))
|
val vm = LibraryViewModel(
|
||||||
|
repo,
|
||||||
|
mockk<SyncController>(relaxed = true),
|
||||||
|
mockk<PlayerController>(relaxed = true),
|
||||||
|
)
|
||||||
|
|
||||||
vm.uiState.test {
|
vm.uiState.test {
|
||||||
val success = awaitItem() as LibraryUiState.Success
|
val success = awaitItem() as LibraryUiState.Success
|
||||||
@@ -79,7 +92,11 @@ class LibraryViewModelTest {
|
|||||||
flow { throw IllegalStateException("DAO blew up") }
|
flow { throw IllegalStateException("DAO blew up") }
|
||||||
every { repo.observeAlbums() } returns flowOf(emptyList())
|
every { repo.observeAlbums() } returns flowOf(emptyList())
|
||||||
|
|
||||||
val vm = LibraryViewModel(repo, mockk<SyncController>(relaxed = true))
|
val vm = LibraryViewModel(
|
||||||
|
repo,
|
||||||
|
mockk<SyncController>(relaxed = true),
|
||||||
|
mockk<PlayerController>(relaxed = true),
|
||||||
|
)
|
||||||
|
|
||||||
vm.uiState.test {
|
vm.uiState.test {
|
||||||
val error = awaitItem() as LibraryUiState.Error
|
val error = awaitItem() as LibraryUiState.Error
|
||||||
|
|||||||
Reference in New Issue
Block a user