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, @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, @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.CreateRoomPreset
import org.matrix.android.sdk.api.session.room.model.create.RoomCreateContent 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.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.UserService
import org.matrix.android.sdk.api.session.user.model.User import org.matrix.android.sdk.api.session.user.model.User
import org.matrix.android.sdk.internal.session.profile.ThirdPartyIdentifier.Companion.MEDIUM_EMAIL import org.matrix.android.sdk.internal.session.profile.ThirdPartyIdentifier.Companion.MEDIUM_EMAIL
@@ -372,13 +373,13 @@ internal class DefaultCreateLocalRoomStateEventsTaskTest {
// Power levels // Power levels
val powerLevelsContent = result.find { it.type == EventType.STATE_ROOM_POWER_LEVELS }?.content.toModel<PowerLevelsContent>() val powerLevelsContent = result.find { it.type == EventType.STATE_ROOM_POWER_LEVELS }?.content.toModel<PowerLevelsContent>()
powerLevelsContent.shouldNotBeNull() powerLevelsContent.shouldNotBeNull()
powerLevelsContent.ban shouldBeEqualTo Role.Moderator.value powerLevelsContent.ban shouldBeEqualTo UserPowerLevel.Moderator.value
powerLevelsContent.kick shouldBeEqualTo Role.Moderator.value powerLevelsContent.kick shouldBeEqualTo UserPowerLevel.Moderator.value
powerLevelsContent.invite shouldBeEqualTo Role.Moderator.value powerLevelsContent.invite shouldBeEqualTo UserPowerLevel.User.value
powerLevelsContent.redact shouldBeEqualTo Role.Moderator.value powerLevelsContent.redact shouldBeEqualTo UserPowerLevel.Moderator.value
powerLevelsContent.eventsDefault shouldBeEqualTo Role.User.value powerLevelsContent.eventsDefault shouldBeEqualTo UserPowerLevel.User.value
powerLevelsContent.usersDefault shouldBeEqualTo Role.User.value powerLevelsContent.usersDefault shouldBeEqualTo UserPowerLevel.User.value
powerLevelsContent.stateDefault shouldBeEqualTo Role.Moderator.value powerLevelsContent.stateDefault shouldBeEqualTo UserPowerLevel.Moderator.value
// Guest access // Guest access
result.find { it.type == EventType.STATE_ROOM_GUEST_ACCESS } result.find { it.type == EventType.STATE_ROOM_GUEST_ACCESS }
?.content.toModel<RoomGuestAccessContent>()?.guestAccess shouldBeEqualTo GuestAccess.Forbidden ?.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.Context
import android.content.pm.PackageManager import android.content.pm.PackageManager
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import dagger.Binds
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Inject 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, private val applicationContext: Context,
) { ) : PermissionChecker {
fun checkPermission(vararg permissions: String): Boolean { override fun checkPermission(vararg permissions: String): Boolean {
return permissions.any { permission -> return permissions.any { permission ->
ActivityCompat.checkSelfPermission(applicationContext, permission) != PackageManager.PERMISSION_GRANTED 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.FakeActiveSessionHolder
import im.vector.app.test.fakes.FakeContext import im.vector.app.test.fakes.FakeContext
import im.vector.app.test.fakes.FakeLocationManager 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.fixtures.aBuildMeta
import im.vector.app.test.test import im.vector.app.test.test
import io.mockk.every import io.mockk.every
@@ -29,6 +30,7 @@ import kotlinx.coroutines.test.runTest
import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldBeEqualTo
import org.junit.After import org.junit.After
import org.junit.Before import org.junit.Before
import org.junit.Ignore
import org.junit.Test import org.junit.Test
private const val A_LATITUDE = 1.2 private const val A_LATITUDE = 1.2
@@ -48,7 +50,7 @@ class LocationTrackerTest {
@Before @Before
fun setUp() { fun setUp() {
mockkStatic("im.vector.app.features.session.SessionCoroutineScopesKt") 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) 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.features.location.live.StopLiveLocationShareUseCase
import im.vector.app.test.fakes.FakeLocationSharingServiceConnection import im.vector.app.test.fakes.FakeLocationSharingServiceConnection
import im.vector.app.test.fakes.FakeLocationTracker 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.fakes.FakeSession
import im.vector.app.test.test import im.vector.app.test.test
import io.mockk.every import io.mockk.every
@@ -38,6 +39,7 @@ class LiveLocationMapViewModelTest {
private val fakeLocationSharingServiceConnection = FakeLocationSharingServiceConnection() private val fakeLocationSharingServiceConnection = FakeLocationSharingServiceConnection()
private val fakeStopLiveLocationShareUseCase = mockk<StopLiveLocationShareUseCase>() private val fakeStopLiveLocationShareUseCase = mockk<StopLiveLocationShareUseCase>()
private val fakeLocationTracker = FakeLocationTracker() private val fakeLocationTracker = FakeLocationTracker()
private val fakePermissionChecker = FakePermissionChecker()
private fun createViewModel(): LiveLocationMapViewModel { private fun createViewModel(): LiveLocationMapViewModel {
return LiveLocationMapViewModel( return LiveLocationMapViewModel(
@@ -47,6 +49,7 @@ class LiveLocationMapViewModelTest {
locationSharingServiceConnection = fakeLocationSharingServiceConnection.instance, locationSharingServiceConnection = fakeLocationSharingServiceConnection.instance,
stopLiveLocationShareUseCase = fakeStopLiveLocationShareUseCase, stopLiveLocationShareUseCase = fakeStopLiveLocationShareUseCase,
locationTracker = fakeLocationTracker.instance, 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
}
}