diff --git a/app/src/test/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModelTest.kt b/app/src/test/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModelTest.kt new file mode 100644 index 0000000..d050856 --- /dev/null +++ b/app/src/test/java/gq/kirmanak/mealient/ui/activity/MainActivityViewModelTest.kt @@ -0,0 +1,55 @@ +package gq.kirmanak.mealient.ui.activity + +import gq.kirmanak.mealient.data.auth.AuthRepo +import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo +import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorage +import gq.kirmanak.mealient.data.recipes.RecipeRepo +import gq.kirmanak.mealient.test.BaseUnitTest +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.verify +import kotlinx.coroutines.flow.emptyFlow +import org.junit.Before +import org.junit.Test + +class MainActivityViewModelTest : BaseUnitTest() { + + @MockK(relaxUnitFun = true) + lateinit var authRepo: AuthRepo + + @MockK(relaxUnitFun = true) + lateinit var disclaimerStorage: DisclaimerStorage + + @MockK(relaxUnitFun = true) + lateinit var serverInfoRepo: ServerInfoRepo + + @MockK(relaxUnitFun = true) + lateinit var recipeRepo: RecipeRepo + + private lateinit var subject: MainActivityViewModel + + @Before + override fun setUp() { + super.setUp() + every { authRepo.isAuthorizedFlow } returns emptyFlow() + subject = MainActivityViewModel( + authRepo = authRepo, + logger = logger, + disclaimerStorage = disclaimerStorage, + serverInfoRepo = serverInfoRepo, + recipeRepo = recipeRepo, + ) + } + + @Test + fun `when onSearchQuery with query expect call to recipe repo`() { + subject.onSearchQuery("query") + verify { recipeRepo.updateNameQuery("query") } + } + + @Test + fun `when onSearchQuery with null expect call to recipe repo`() { + subject.onSearchQuery(null) + verify { recipeRepo.updateNameQuery(null) } + } +} \ No newline at end of file