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

This commit is contained in:
Benoit Marty 2024-02-22 16:18:07 +01:00
parent 5d33f8dafc
commit e9c0a0a18e
3 changed files with 24 additions and 0 deletions

View file

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

View file

@ -173,6 +173,22 @@ class RoomDetailsViewTest {
callback.assertSuccess() 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 @Test
fun `click on mute emit expected event`() { fun `click on mute emit expected event`() {
val eventsRecorder = EventsRecorder<RoomDetailsEvent>() val eventsRecorder = EventsRecorder<RoomDetailsEvent>()

View file

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