Skip to content

Commit

Permalink
test implementation for refresh app data usecase
Browse files Browse the repository at this point in the history
  • Loading branch information
ishanvaghani committed Dec 27, 2023
1 parent 6bcc417 commit 5122275
Showing 1 changed file with 50 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.hieuwu.groceriesstore.domain.usecases.impl

import com.hieuwu.groceriesstore.data.repository.CategoryRepository
import com.hieuwu.groceriesstore.data.repository.ProductRepository
import com.hieuwu.groceriesstore.data.repository.RecipeRepository
import com.hieuwu.groceriesstore.domain.usecases.RefreshAppDataUseCase
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.junit.MockitoJUnitRunner
import org.mockito.kotlin.verify

@RunWith(MockitoJUnitRunner::class)
class RefreshAppDataUseCaseImplTest {

@Mock
lateinit var mockedProductRepository: ProductRepository

@Mock
lateinit var mockedCategoryRepository: CategoryRepository

@Mock
lateinit var mockedRecipeRepository: RecipeRepository

private lateinit var testee: RefreshAppDataUseCase

@Before
fun setup() {
testee = RefreshAppDataUseCaseImpl(
productRepository = mockedProductRepository,
categoryRepository = mockedCategoryRepository,
recipeRepository = mockedRecipeRepository,
ioDispatcher = Dispatchers.IO
)
}

@Test
fun whenExecute_thenCallRepositories() {
runBlocking {
testee.execute(Unit)

verify(mockedProductRepository).refreshDatabase()
verify(mockedCategoryRepository).refreshDatabase()
verify(mockedRecipeRepository).refreshDatabase()
}
}
}

0 comments on commit 5122275

Please sign in to comment.