From ed545c7e2bf6b94b2bf0b09c3594e2ad7beeab7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= <jorgem@element.io>
Date: Wed, 5 Oct 2022 08:49:56 +0200
Subject: [PATCH] Try to fix flaky RoomMemberListControllerTest

---
 .../app/features/RoomMemberListControllerTest.kt     | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/vector/src/androidTest/java/im/vector/app/features/RoomMemberListControllerTest.kt b/vector/src/androidTest/java/im/vector/app/features/RoomMemberListControllerTest.kt
index d282a8c223..73174e4b34 100644
--- a/vector/src/androidTest/java/im/vector/app/features/RoomMemberListControllerTest.kt
+++ b/vector/src/androidTest/java/im/vector/app/features/RoomMemberListControllerTest.kt
@@ -18,7 +18,6 @@ package im.vector.app.features
 
 import com.airbnb.mvrx.Success
 import im.vector.app.core.epoxy.profiles.ProfileMatrixItemWithPowerLevelWithPresence
-import im.vector.app.core.utils.waitUntil
 import im.vector.app.features.roomprofile.members.RoomMemberListCategories
 import im.vector.app.features.roomprofile.members.RoomMemberListController
 import im.vector.app.features.roomprofile.members.RoomMemberListViewState
@@ -31,6 +30,8 @@ import org.matrix.android.sdk.api.session.crypto.model.UserVerificationLevel
 import org.matrix.android.sdk.api.session.room.model.Membership
 import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
+import kotlin.coroutines.resume
+import kotlin.coroutines.suspendCoroutine
 
 class RoomMemberListControllerTest {
 
@@ -97,9 +98,12 @@ class RoomMemberListControllerTest {
                 )
         )
 
-        roomListController.setData(state)
-
-        waitUntil { !roomListController.hasPendingModelBuild() }
+        suspendCoroutine { continuation ->
+            roomListController.setData(state)
+            roomListController.addModelBuildListener {
+                continuation.resume(it)
+            }
+        }
 
         val models = roomListController.adapter.copyOfModels