Browse Source

Add test about clicking an Avatar in a DM room detail.

pull/2433/head
Benoit Marty 7 months ago
parent
commit
8428823c76
  1. 3
      features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/details/RoomMemberHeaderSection.kt
  2. 16
      features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsViewTest.kt
  3. 5
      libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt

3
features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/details/RoomMemberHeaderSection.kt

@ -37,6 +37,8 @@ import io.element.android.libraries.designsystem.components.avatar.Avatar @@ -37,6 +37,8 @@ import io.element.android.libraries.designsystem.components.avatar.Avatar
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.testtags.TestTags
import io.element.android.libraries.testtags.testTag
@Composable
fun RoomMemberHeaderSection(
@ -53,6 +55,7 @@ fun RoomMemberHeaderSection( @@ -53,6 +55,7 @@ fun RoomMemberHeaderSection(
modifier = Modifier
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
.fillMaxSize()
.testTag(TestTags.memberDetailAvatar)
)
}
Spacer(modifier = Modifier.height(24.dp))

16
features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsViewTest.kt

@ -173,6 +173,22 @@ class RoomDetailsViewTest { @@ -173,6 +173,22 @@ class RoomDetailsViewTest {
callback.assertSuccess()
}
@Test
fun `click on avatar test on DM`() {
val eventsRecorder = EventsRecorder<RoomDetailsEvent>(expectEvents = false)
val state = aRoomDetailsState(
roomType = RoomDetailsType.Dm(aDmRoomMember(avatarUrl = "an_avatar_url")),
eventSink = eventsRecorder,
)
val callback = EnsureCalledOnceWithTwoParams("Daniel", "an_avatar_url")
rule.setRoomDetailView(
state = state,
openAvatarPreview = callback,
)
rule.onNodeWithTag(TestTags.memberDetailAvatar.value).performClick()
callback.assertSuccess()
}
@Test
fun `click on mute emit expected event`() {
val eventsRecorder = EventsRecorder<RoomDetailsEvent>()

5
libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt

@ -53,6 +53,11 @@ object TestTags { @@ -53,6 +53,11 @@ object TestTags {
*/
val roomDetailAvatar = TestTag("room_detail-avatar")
/**
* Room member screen.
*/
val memberDetailAvatar = TestTag("member_detail-avatar")
/**
* Welcome screen.
*/

Loading…
Cancel
Save