INNER CODE UNIT · Kotlin
KoinGraphTest
anilbeesetti/nextplayer · app/src/androidTest/java/dev/anilbeesetti/nextplayer/KoinGraphTest.kt:56
class KoinGraphTest {
private val koin get() = GlobalContext.get()
@Test
fun sharedServicesAndAllThreePreferenceStoresResolve() {
runBlocking {
assertSame(koin.get<PreferencesRepository>(), koin.get<PreferencesRepository>())
assertSame(koin.get<MediaOperationsService>(), koin.get<MediaOperationsService>())
assertSame(koin.get<MediaService>(), koin.get<MediaService>())
assertSame(koin.get<MediaSynchronizer>(), koin.get<MediaSynchronizer>())
assertSame(koin.get<NextDataSourceFactory>(), koin.get<NextDataSourceFactory>())
withTimeout(10_000) {
// Read the typed values to catch collisions between erased DataStore keys.
koin.get<DataStore<ApplicationPreferences>>(named(DiQualifiers.APP_PREFERENCES)).data.first().mediaViewMode
koin.get<DataStore<PlayerPreferences>>(named(DiQualifiers.PLAYER_PREFERENCES)).data.first().resume
koin.get<DataStore<SearchHistory>>(named(DiQualifiers.SEARCH_HISTORY)).data.first().queries.size
}
}