Add test for LogoutPreferencePresenter

This commit is contained in:
Benoit Marty 2023-02-07 17:47:38 +01:00
parent 8fb1f2655e
commit 58c59efebf
3 changed files with 101 additions and 1 deletions

View file

@ -26,6 +26,7 @@ import io.element.android.libraries.matrix.room.RoomSummaryDataSource
import io.element.android.libraries.matrixtest.media.FakeMediaResolver
import io.element.android.libraries.matrixtest.room.FakeMatrixRoom
import io.element.android.libraries.matrixtest.room.FakeRoomSummaryDataSource
import kotlinx.coroutines.delay
import org.matrix.rustcomponents.sdk.MediaSource
class FakeMatrixClient(
@ -33,6 +34,8 @@ class FakeMatrixClient(
val roomSummaryDataSource: RoomSummaryDataSource = FakeRoomSummaryDataSource()
) : MatrixClient {
private var logoutFailure: Throwable? = null
override fun getRoom(roomId: RoomId): MatrixRoom? {
return FakeMatrixRoom(roomId)
}
@ -49,7 +52,14 @@ class FakeMatrixClient(
return FakeMediaResolver()
}
override suspend fun logout() = Unit
fun givenLogoutError(failure: Throwable) {
logoutFailure = failure
}
override suspend fun logout() {
delay(100)
logoutFailure?.let { throw it }
}
override fun userId(): UserId = UserId("")