1
0
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:
ganfra
2025-07-30 12:12:51 +02:00
parent 864346c3c0
commit 15cf848cf1
6 changed files with 49 additions and 12 deletions

View File

@@ -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
}

View File

@@ -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)
}

View File

@@ -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
)
}

View File

@@ -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
}
}