mirror of
https://github.com/vector-im/riotX-android
synced 2025-10-05 15:52:47 +02:00
test : try to fix some tests
This commit is contained in:
@@ -10,12 +10,27 @@ package im.vector.app.core.utils
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import androidx.core.app.ActivityCompat
|
||||
import dagger.Binds
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import javax.inject.Inject
|
||||
|
||||
class PermissionChecker @Inject constructor(
|
||||
interface PermissionChecker {
|
||||
|
||||
@InstallIn(SingletonComponent::class)
|
||||
@dagger.Module
|
||||
interface Module {
|
||||
@Binds
|
||||
fun bindPermissionChecker(permissionChecker: AndroidPermissionChecker): PermissionChecker
|
||||
}
|
||||
|
||||
fun checkPermission(vararg permissions: String): Boolean
|
||||
}
|
||||
|
||||
class AndroidPermissionChecker @Inject constructor(
|
||||
private val applicationContext: Context,
|
||||
) {
|
||||
fun checkPermission(vararg permissions: String): Boolean {
|
||||
) : PermissionChecker {
|
||||
override fun checkPermission(vararg permissions: String): Boolean {
|
||||
return permissions.any { permission ->
|
||||
ActivityCompat.checkSelfPermission(applicationContext, permission) != PackageManager.PERMISSION_GRANTED
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@ import im.vector.app.features.session.coroutineScope
|
||||
import im.vector.app.test.fakes.FakeActiveSessionHolder
|
||||
import im.vector.app.test.fakes.FakeContext
|
||||
import im.vector.app.test.fakes.FakeLocationManager
|
||||
import im.vector.app.test.fakes.FakePermissionChecker
|
||||
import im.vector.app.test.fixtures.aBuildMeta
|
||||
import im.vector.app.test.test
|
||||
import io.mockk.every
|
||||
@@ -29,6 +30,7 @@ import kotlinx.coroutines.test.runTest
|
||||
import org.amshove.kluent.shouldBeEqualTo
|
||||
import org.junit.After
|
||||
import org.junit.Before
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
|
||||
private const val A_LATITUDE = 1.2
|
||||
@@ -48,7 +50,7 @@ class LocationTrackerTest {
|
||||
@Before
|
||||
fun setUp() {
|
||||
mockkStatic("im.vector.app.features.session.SessionCoroutineScopesKt")
|
||||
locationTracker = LocationTracker(fakeContext.instance, fakeActiveSessionHolder.instance, aBuildMeta())
|
||||
locationTracker = LocationTracker(fakeContext.instance, fakeActiveSessionHolder.instance, aBuildMeta(), FakePermissionChecker())
|
||||
fakeLocationManager.givenRemoveUpdates(locationTracker)
|
||||
}
|
||||
|
||||
|
@@ -12,6 +12,7 @@ import im.vector.app.features.location.LocationData
|
||||
import im.vector.app.features.location.live.StopLiveLocationShareUseCase
|
||||
import im.vector.app.test.fakes.FakeLocationSharingServiceConnection
|
||||
import im.vector.app.test.fakes.FakeLocationTracker
|
||||
import im.vector.app.test.fakes.FakePermissionChecker
|
||||
import im.vector.app.test.fakes.FakeSession
|
||||
import im.vector.app.test.test
|
||||
import io.mockk.every
|
||||
@@ -38,6 +39,7 @@ class LiveLocationMapViewModelTest {
|
||||
private val fakeLocationSharingServiceConnection = FakeLocationSharingServiceConnection()
|
||||
private val fakeStopLiveLocationShareUseCase = mockk<StopLiveLocationShareUseCase>()
|
||||
private val fakeLocationTracker = FakeLocationTracker()
|
||||
private val fakePermissionChecker = FakePermissionChecker()
|
||||
|
||||
private fun createViewModel(): LiveLocationMapViewModel {
|
||||
return LiveLocationMapViewModel(
|
||||
@@ -47,6 +49,7 @@ class LiveLocationMapViewModelTest {
|
||||
locationSharingServiceConnection = fakeLocationSharingServiceConnection.instance,
|
||||
stopLiveLocationShareUseCase = fakeStopLiveLocationShareUseCase,
|
||||
locationTracker = fakeLocationTracker.instance,
|
||||
permissionChecker = fakePermissionChecker
|
||||
)
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright 2022-2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package im.vector.app.test.fakes
|
||||
|
||||
import im.vector.app.core.utils.PermissionChecker
|
||||
|
||||
class FakePermissionChecker(val permissionResult: Boolean = true) : PermissionChecker {
|
||||
override fun checkPermission(vararg permissions: String): Boolean {
|
||||
return permissionResult
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user