quality: fix tests after latest changes
This commit is contained in:
parent
2bb5125a8b
commit
10b61df11b
4 changed files with 53 additions and 29 deletions
|
|
@ -77,13 +77,13 @@ class ChangeRoomPermissionsPresenterTest {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
val state = awaitUpdatedItem()
|
val state = awaitUpdatedItem()
|
||||||
assertThat(state.currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
assertThat(state.currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
||||||
assertThat(state.hasChanges).isFalse()
|
assertThat(state.hasChanges).isFalse()
|
||||||
|
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Admin))
|
||||||
|
|
||||||
awaitItem().run {
|
awaitItem().run {
|
||||||
assertThat(currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
assertThat(currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
||||||
assertThat(hasChanges).isTrue()
|
assertThat(hasChanges).isTrue()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -142,14 +142,14 @@ class ChangeRoomPermissionsPresenterTest {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
val state = awaitUpdatedItem()
|
val state = awaitUpdatedItem()
|
||||||
assertThat(state.currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
assertThat(state.currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
||||||
assertThat(state.hasChanges).isFalse()
|
assertThat(state.hasChanges).isFalse()
|
||||||
|
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_AVATAR, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_AVATAR, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_TOPIC, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_TOPIC, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.SEND_EVENTS, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.SEND_EVENTS, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.REDACT_EVENTS, SelectableRole.Everyone))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.REDACT_EVENTS, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.KICK, SelectableRole.Admin))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.KICK, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.BAN, SelectableRole.Admin))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.BAN, SelectableRole.Admin))
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.INVITE, SelectableRole.Admin))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.INVITE, SelectableRole.Admin))
|
||||||
|
|
@ -161,16 +161,16 @@ class ChangeRoomPermissionsPresenterTest {
|
||||||
assertThat(awaitItem().saveAction).isEqualTo(AsyncAction.Loading)
|
assertThat(awaitItem().saveAction).isEqualTo(AsyncAction.Loading)
|
||||||
assertThat(awaitItem().hasChanges).isFalse()
|
assertThat(awaitItem().hasChanges).isFalse()
|
||||||
awaitItem().run {
|
awaitItem().run {
|
||||||
assertThat(currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
assertThat(currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
||||||
assertThat(saveAction).isEqualTo(AsyncAction.Success(true))
|
assertThat(saveAction).isEqualTo(AsyncAction.Success(true))
|
||||||
}
|
}
|
||||||
assertThat(analyticsService.capturedEvents).containsExactlyElementsIn(
|
assertThat(analyticsService.capturedEvents).containsExactlyElementsIn(
|
||||||
listOf(
|
listOf(
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsRoomName, RoomModeration.Role.Moderator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsRoomName, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsRoomAvatar, RoomModeration.Role.Moderator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsRoomAvatar, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsRoomTopic, RoomModeration.Role.Moderator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsRoomTopic, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsSendMessages, RoomModeration.Role.Moderator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsSendMessages, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsRedactMessages, RoomModeration.Role.User),
|
RoomModeration(RoomModeration.Action.ChangePermissionsRedactMessages, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsKickMembers, RoomModeration.Role.Administrator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsKickMembers, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsBanMembers, RoomModeration.Role.Administrator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsBanMembers, RoomModeration.Role.Administrator),
|
||||||
RoomModeration(RoomModeration.Action.ChangePermissionsInviteUsers, RoomModeration.Role.Administrator),
|
RoomModeration(RoomModeration.Action.ChangePermissionsInviteUsers, RoomModeration.Role.Administrator),
|
||||||
|
|
@ -207,17 +207,17 @@ class ChangeRoomPermissionsPresenterTest {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
val state = awaitUpdatedItem()
|
val state = awaitUpdatedItem()
|
||||||
assertThat(state.currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
assertThat(state.currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
||||||
assertThat(state.hasChanges).isFalse()
|
assertThat(state.hasChanges).isFalse()
|
||||||
|
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Admin))
|
||||||
assertThat(awaitItem().hasChanges).isTrue()
|
assertThat(awaitItem().hasChanges).isTrue()
|
||||||
|
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.Save)
|
state.eventSink(ChangeRoomPermissionsEvent.Save)
|
||||||
|
|
||||||
assertThat(awaitItem().saveAction).isEqualTo(AsyncAction.Loading)
|
assertThat(awaitItem().saveAction).isEqualTo(AsyncAction.Loading)
|
||||||
awaitItem().run {
|
awaitItem().run {
|
||||||
assertThat(currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
assertThat(currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
||||||
// Couldn't save the changes, so they're still pending
|
// Couldn't save the changes, so they're still pending
|
||||||
assertThat(hasChanges).isTrue()
|
assertThat(hasChanges).isTrue()
|
||||||
assertThat(saveAction).isInstanceOf(AsyncAction.Failure::class.java)
|
assertThat(saveAction).isInstanceOf(AsyncAction.Failure::class.java)
|
||||||
|
|
@ -225,7 +225,7 @@ class ChangeRoomPermissionsPresenterTest {
|
||||||
|
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ResetPendingActions)
|
state.eventSink(ChangeRoomPermissionsEvent.ResetPendingActions)
|
||||||
awaitItem().run {
|
awaitItem().run {
|
||||||
assertThat(currentPermissions?.roomName).isEqualTo(Moderator.powerLevel)
|
assertThat(currentPermissions?.roomName).isEqualTo(Admin.powerLevel)
|
||||||
assertThat(saveAction).isEqualTo(AsyncAction.Uninitialized)
|
assertThat(saveAction).isEqualTo(AsyncAction.Uninitialized)
|
||||||
assertThat(hasChanges).isTrue()
|
assertThat(hasChanges).isTrue()
|
||||||
}
|
}
|
||||||
|
|
@ -239,7 +239,7 @@ class ChangeRoomPermissionsPresenterTest {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
val state = awaitUpdatedItem()
|
val state = awaitUpdatedItem()
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Moderator))
|
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.ROOM_NAME, SelectableRole.Admin))
|
||||||
assertThat(awaitItem().hasChanges).isTrue()
|
assertThat(awaitItem().hasChanges).isTrue()
|
||||||
|
|
||||||
state.eventSink(ChangeRoomPermissionsEvent.Exit)
|
state.eventSink(ChangeRoomPermissionsEvent.Exit)
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,8 @@ import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||||
import io.element.android.libraries.matrix.api.MatrixClient
|
import io.element.android.libraries.matrix.api.MatrixClient
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
|
import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
|
||||||
|
import io.element.android.libraries.matrix.api.room.BaseRoom
|
||||||
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
||||||
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
|
||||||
import io.element.android.libraries.matrix.api.room.join.JoinRoom
|
import io.element.android.libraries.matrix.api.room.join.JoinRoom
|
||||||
import io.element.android.libraries.matrix.api.room.powerlevels.permissionsAsState
|
import io.element.android.libraries.matrix.api.room.powerlevels.permissionsAsState
|
||||||
import io.element.android.libraries.matrix.api.spaces.SpaceRoom
|
import io.element.android.libraries.matrix.api.spaces.SpaceRoom
|
||||||
|
|
@ -55,7 +55,7 @@ import kotlin.jvm.optionals.getOrNull
|
||||||
@Inject
|
@Inject
|
||||||
class SpacePresenter(
|
class SpacePresenter(
|
||||||
private val spaceRoomList: SpaceRoomList,
|
private val spaceRoomList: SpaceRoomList,
|
||||||
private val room: JoinedRoom,
|
private val room: BaseRoom,
|
||||||
private val client: MatrixClient,
|
private val client: MatrixClient,
|
||||||
private val seenInvitesStore: SeenInvitesStore,
|
private val seenInvitesStore: SeenInvitesStore,
|
||||||
private val joinRoom: JoinRoom,
|
private val joinRoom: JoinRoom,
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
|
||||||
import io.element.android.libraries.matrix.api.MatrixClient
|
import io.element.android.libraries.matrix.api.MatrixClient
|
||||||
import io.element.android.libraries.matrix.api.core.RoomIdOrAlias
|
import io.element.android.libraries.matrix.api.core.RoomIdOrAlias
|
||||||
import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
|
import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
|
||||||
|
import io.element.android.libraries.matrix.api.room.BaseRoom
|
||||||
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
||||||
import io.element.android.libraries.matrix.api.room.join.JoinRoom
|
import io.element.android.libraries.matrix.api.room.join.JoinRoom
|
||||||
import io.element.android.libraries.matrix.api.spaces.SpaceRoomList
|
import io.element.android.libraries.matrix.api.spaces.SpaceRoomList
|
||||||
|
|
@ -31,7 +32,9 @@ import io.element.android.libraries.matrix.test.AN_EXCEPTION
|
||||||
import io.element.android.libraries.matrix.test.A_ROOM_ID
|
import io.element.android.libraries.matrix.test.A_ROOM_ID
|
||||||
import io.element.android.libraries.matrix.test.A_ROOM_ID_2
|
import io.element.android.libraries.matrix.test.A_ROOM_ID_2
|
||||||
import io.element.android.libraries.matrix.test.FakeMatrixClient
|
import io.element.android.libraries.matrix.test.FakeMatrixClient
|
||||||
|
import io.element.android.libraries.matrix.test.room.FakeBaseRoom
|
||||||
import io.element.android.libraries.matrix.test.room.join.FakeJoinRoom
|
import io.element.android.libraries.matrix.test.room.join.FakeJoinRoom
|
||||||
|
import io.element.android.libraries.matrix.test.room.powerlevels.FakeRoomPermissions
|
||||||
import io.element.android.libraries.matrix.test.spaces.FakeSpaceRoomList
|
import io.element.android.libraries.matrix.test.spaces.FakeSpaceRoomList
|
||||||
import io.element.android.libraries.previewutils.room.aSpaceRoom
|
import io.element.android.libraries.previewutils.room.aSpaceRoom
|
||||||
import io.element.android.tests.testutils.EventsRecorder
|
import io.element.android.tests.testutils.EventsRecorder
|
||||||
|
|
@ -71,8 +74,25 @@ class SpacePresenterTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `present - canAccessSpaceSettings when space settings ff is enabled`() = runTest {
|
fun `present - canAccessSpaceSettings false when space settings ff is enabled but no permissions`() = runTest {
|
||||||
val presenter = createSpacePresenter(spaceSettingsEnabled = true)
|
val presenter = createSpacePresenter(spaceSettingsEnabled = true)
|
||||||
|
presenter.test {
|
||||||
|
val state = awaitItem()
|
||||||
|
assertThat(state.canAccessSpaceSettings).isFalse()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - canAccessSpaceSettings true when space settings ff is enabled and has permissions`() = runTest {
|
||||||
|
val room = FakeBaseRoom(
|
||||||
|
roomPermissions = FakeRoomPermissions(
|
||||||
|
canSendState = { true }
|
||||||
|
)
|
||||||
|
)
|
||||||
|
val presenter = createSpacePresenter(
|
||||||
|
room = room,
|
||||||
|
spaceSettingsEnabled = true,
|
||||||
|
)
|
||||||
presenter.test {
|
presenter.test {
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
val state = awaitItem()
|
val state = awaitItem()
|
||||||
|
|
@ -335,7 +355,10 @@ class SpacePresenterTest {
|
||||||
|
|
||||||
private fun TestScope.createSpacePresenter(
|
private fun TestScope.createSpacePresenter(
|
||||||
client: MatrixClient = FakeMatrixClient(),
|
client: MatrixClient = FakeMatrixClient(),
|
||||||
spaceRoomList: SpaceRoomList = FakeSpaceRoomList(),
|
room: BaseRoom = FakeBaseRoom(),
|
||||||
|
spaceRoomList: SpaceRoomList = FakeSpaceRoomList(
|
||||||
|
paginateResult = { Result.success(Unit) }
|
||||||
|
),
|
||||||
seenInvitesStore: SeenInvitesStore = InMemorySeenInvitesStore(),
|
seenInvitesStore: SeenInvitesStore = InMemorySeenInvitesStore(),
|
||||||
joinRoom: JoinRoom = FakeJoinRoom(
|
joinRoom: JoinRoom = FakeJoinRoom(
|
||||||
lambda = { _, _, _ -> Result.success(Unit) },
|
lambda = { _, _, _ -> Result.success(Unit) },
|
||||||
|
|
@ -345,6 +368,7 @@ class SpacePresenterTest {
|
||||||
): SpacePresenter {
|
): SpacePresenter {
|
||||||
return SpacePresenter(
|
return SpacePresenter(
|
||||||
client = client,
|
client = client,
|
||||||
|
room = room,
|
||||||
spaceRoomList = spaceRoomList,
|
spaceRoomList = spaceRoomList,
|
||||||
seenInvitesStore = seenInvitesStore,
|
seenInvitesStore = seenInvitesStore,
|
||||||
joinRoom = joinRoom,
|
joinRoom = joinRoom,
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,11 @@ fun defaultFfiRoomPowerLevelValues() = RoomPowerLevelsValues(
|
||||||
invite = 0,
|
invite = 0,
|
||||||
kick = 50,
|
kick = 50,
|
||||||
eventsDefault = 0,
|
eventsDefault = 0,
|
||||||
|
stateDefault = 50,
|
||||||
redact = 50,
|
redact = 50,
|
||||||
roomName = 100,
|
roomName = 50,
|
||||||
roomAvatar = 100,
|
roomAvatar = 50,
|
||||||
roomTopic = 100,
|
roomTopic = 50,
|
||||||
stateDefault = 0,
|
spaceChild = 50,
|
||||||
usersDefault = 0,
|
usersDefault = 0,
|
||||||
spaceChild = 100,
|
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue