feat: M3 weighted shuffle v1 — real /api/radio with scoring #21

Merged
bvandeusen merged 262 commits from dev into main 2026-04-27 11:00:29 -04:00
Showing only changes of commit a7127e127f - Show all commits
@@ -16,7 +16,6 @@ import kotlinx.coroutines.test.runTest
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@ExtendWith(MainDispatcherExtension::class)
class LibraryViewModelTest {
@@ -100,7 +99,9 @@ class LibraryViewModelTest {
vm.uiState.test {
val error = awaitItem() as LibraryUiState.Error
assertTrue(error.message.contains("DAO blew up"))
// ErrorCopy maps a non-HTTP/non-IO throwable to the generic
// fallback rather than leaking the raw exception text.
assertEquals("Something went wrong.", error.message)
cancelAndConsumeRemainingEvents()
}
}