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:
@@ -35,7 +35,7 @@ data class PowerLevelsContent(
|
||||
*/
|
||||
@Json(name = "kick") val kick: Int? = null,
|
||||
/**
|
||||
* The level required to invite a user. Defaults to 50 if unspecified.
|
||||
* The level required to invite a user. Defaults to 0 if unspecified.
|
||||
*/
|
||||
@Json(name = "invite") val invite: Int? = null,
|
||||
/**
|
||||
|
@@ -52,6 +52,7 @@ import org.matrix.android.sdk.api.session.room.model.RoomTopicContent
|
||||
import org.matrix.android.sdk.api.session.room.model.create.CreateRoomPreset
|
||||
import org.matrix.android.sdk.api.session.room.model.create.RoomCreateContent
|
||||
import org.matrix.android.sdk.api.session.room.powerlevels.Role
|
||||
import org.matrix.android.sdk.api.session.room.powerlevels.UserPowerLevel
|
||||
import org.matrix.android.sdk.api.session.user.UserService
|
||||
import org.matrix.android.sdk.api.session.user.model.User
|
||||
import org.matrix.android.sdk.internal.session.profile.ThirdPartyIdentifier.Companion.MEDIUM_EMAIL
|
||||
@@ -372,13 +373,13 @@ internal class DefaultCreateLocalRoomStateEventsTaskTest {
|
||||
// Power levels
|
||||
val powerLevelsContent = result.find { it.type == EventType.STATE_ROOM_POWER_LEVELS }?.content.toModel<PowerLevelsContent>()
|
||||
powerLevelsContent.shouldNotBeNull()
|
||||
powerLevelsContent.ban shouldBeEqualTo Role.Moderator.value
|
||||
powerLevelsContent.kick shouldBeEqualTo Role.Moderator.value
|
||||
powerLevelsContent.invite shouldBeEqualTo Role.Moderator.value
|
||||
powerLevelsContent.redact shouldBeEqualTo Role.Moderator.value
|
||||
powerLevelsContent.eventsDefault shouldBeEqualTo Role.User.value
|
||||
powerLevelsContent.usersDefault shouldBeEqualTo Role.User.value
|
||||
powerLevelsContent.stateDefault shouldBeEqualTo Role.Moderator.value
|
||||
powerLevelsContent.ban shouldBeEqualTo UserPowerLevel.Moderator.value
|
||||
powerLevelsContent.kick shouldBeEqualTo UserPowerLevel.Moderator.value
|
||||
powerLevelsContent.invite shouldBeEqualTo UserPowerLevel.User.value
|
||||
powerLevelsContent.redact shouldBeEqualTo UserPowerLevel.Moderator.value
|
||||
powerLevelsContent.eventsDefault shouldBeEqualTo UserPowerLevel.User.value
|
||||
powerLevelsContent.usersDefault shouldBeEqualTo UserPowerLevel.User.value
|
||||
powerLevelsContent.stateDefault shouldBeEqualTo UserPowerLevel.Moderator.value
|
||||
// Guest access
|
||||
result.find { it.type == EventType.STATE_ROOM_GUEST_ACCESS }
|
||||
?.content.toModel<RoomGuestAccessContent>()?.guestAccess shouldBeEqualTo GuestAccess.Forbidden
|
||||
|
@@ -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