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

@@ -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,
/**

View File

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

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