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 d73f35e5ff
commit 8428823c76
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.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(
modifier = Modifier
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
.fillMaxSize()
.testTag(TestTags.memberDetailAvatar)
)
}
Spacer(modifier = Modifier.height(24.dp))

View file

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

View file

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