Skip to content

Instantly share code, notes, and snippets.

@DarioMartin
Created July 26, 2023 22:28
Show Gist options
  • Select an option

  • Save DarioMartin/32d68bcd5d8d7dbd6a98192dc1a73908 to your computer and use it in GitHub Desktop.

Select an option

Save DarioMartin/32d68bcd5d8d7dbd6a98192dc1a73908 to your computer and use it in GitHub Desktop.
Test for RegionRepository
import com.architectcoders.wanago.data.RegionRepository
import com.architectcoders.wanago.data.datasource.LocationDataSource
import com.architectcoders.wanago.domain.PermissionChecker
import com.architectcoders.wanago.domain.PermissionChecker.Permission.COARSE_LOCATION
import kotlinx.coroutines.test.runBlockingTest
import org.junit.Assert.assertEquals
import org.junit.Test
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.verify
class RegionRepositoryTest {
private val locationDataSource: LocationDataSource = mock()
private val permissionChecker: PermissionChecker = mock()
private val regionRepository = RegionRepository(locationDataSource, permissionChecker)
@Test
fun `findLastRegion returns default region when location permission is granted but LocationDataSource cannot find last region`() = runBlockingTest {
doReturn(true).`when`(permissionChecker).check(COARSE_LOCATION)
doReturn(null).`when`(locationDataSource).findLastRegion()
val result = regionRepository.findLastRegion()
assertEquals(RegionRepository.DEFAULT_REGION, result)
verify(permissionChecker).check(COARSE_LOCATION)
verify(locationDataSource).findLastRegion()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment