Fixed: LanguageViewModelTest which was failing on CI but passing locally.

This commit is contained in:
MohitMaliFtechiz 2025-07-11 19:15:15 +05:30
parent badddc8aab
commit a36447f968

View File

@ -21,6 +21,7 @@ package org.kiwix.kiwixmobile.language.viewmodel
import android.app.Application import android.app.Application
import android.os.Build import android.os.Build
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import app.cash.turbine.test
import io.mockk.Runs import io.mockk.Runs
import io.mockk.clearAllMocks import io.mockk.clearAllMocks
import io.mockk.coEvery import io.mockk.coEvery
@ -175,20 +176,13 @@ class LanguageViewModelTest {
every { application.getString(any()) } returns "" every { application.getString(any()) } returns ""
val activeLanguage = language(languageCode = "eng").copy(active = true) val activeLanguage = language(languageCode = "eng").copy(active = true)
val inactiveLanguage = language(languageCode = "fr").copy(active = false) val inactiveLanguage = language(languageCode = "fr").copy(active = false)
languageViewModel.effects.test {
val contentState = Content(listOf(activeLanguage, inactiveLanguage)) val contentState = Content(listOf(activeLanguage, inactiveLanguage))
languageViewModel.state.value = contentState languageViewModel.state.value = contentState
languageViewModel.actions.emit(Save)
testFlow( val effect = awaitItem() as SaveLanguagesAndFinish
languageViewModel.effects, assertThat(effect.languages).isEqualTo(activeLanguage)
triggerAction = { }
languageViewModel.actions.emit(Save)
},
assert = {
val effect = awaitItem() as SaveLanguagesAndFinish
assertThat(effect.languages).isEqualTo(activeLanguage)
}
)
} }
@Test @Test