Enforce usage of TestScope.testScheduler
This commit is contained in:
parent
0d55c47d4f
commit
91d20e1b78
6 changed files with 14 additions and 14 deletions
|
|
@ -213,5 +213,5 @@ private fun TestScope.createPresenter(
|
||||||
): LeaveRoomPresenter = LeaveRoomPresenterImpl(
|
): LeaveRoomPresenter = LeaveRoomPresenterImpl(
|
||||||
client = client,
|
client = client,
|
||||||
roomMembershipObserver = roomMembershipObserver,
|
roomMembershipObserver = roomMembershipObserver,
|
||||||
dispatchers = testCoroutineDispatchers(testScheduler, false),
|
dispatchers = testCoroutineDispatchers(false),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ class SearchAccountProviderPresenterTest {
|
||||||
AccountProviderDataSource()
|
AccountProviderDataSource()
|
||||||
)
|
)
|
||||||
val presenter = SearchAccountProviderPresenter(
|
val presenter = SearchAccountProviderPresenter(
|
||||||
HomeserverResolver(testCoroutineDispatchers(testScheduler), fakeWellknownRequest),
|
HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest),
|
||||||
changeServerPresenter
|
changeServerPresenter
|
||||||
)
|
)
|
||||||
moleculeFlow(RecompositionClock.Immediate) {
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
|
|
@ -87,7 +87,7 @@ class SearchAccountProviderPresenterTest {
|
||||||
AccountProviderDataSource()
|
AccountProviderDataSource()
|
||||||
)
|
)
|
||||||
val presenter = SearchAccountProviderPresenter(
|
val presenter = SearchAccountProviderPresenter(
|
||||||
HomeserverResolver(testCoroutineDispatchers(testScheduler), fakeWellknownRequest),
|
HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest),
|
||||||
changeServerPresenter
|
changeServerPresenter
|
||||||
)
|
)
|
||||||
moleculeFlow(RecompositionClock.Immediate) {
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
|
|
@ -122,7 +122,7 @@ class SearchAccountProviderPresenterTest {
|
||||||
AccountProviderDataSource()
|
AccountProviderDataSource()
|
||||||
)
|
)
|
||||||
val presenter = SearchAccountProviderPresenter(
|
val presenter = SearchAccountProviderPresenter(
|
||||||
HomeserverResolver(testCoroutineDispatchers(testScheduler), fakeWellknownRequest),
|
HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest),
|
||||||
changeServerPresenter
|
changeServerPresenter
|
||||||
)
|
)
|
||||||
moleculeFlow(RecompositionClock.Immediate) {
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
|
|
@ -157,7 +157,7 @@ class SearchAccountProviderPresenterTest {
|
||||||
AccountProviderDataSource()
|
AccountProviderDataSource()
|
||||||
)
|
)
|
||||||
val presenter = SearchAccountProviderPresenter(
|
val presenter = SearchAccountProviderPresenter(
|
||||||
HomeserverResolver(testCoroutineDispatchers(testScheduler), fakeWellknownRequest),
|
HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest),
|
||||||
changeServerPresenter
|
changeServerPresenter
|
||||||
)
|
)
|
||||||
moleculeFlow(RecompositionClock.Immediate) {
|
moleculeFlow(RecompositionClock.Immediate) {
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,9 @@ import io.element.android.libraries.dateformatter.test.FakeDaySeparatorFormatter
|
||||||
import io.element.android.libraries.eventformatter.api.TimelineEventFormatter
|
import io.element.android.libraries.eventformatter.api.TimelineEventFormatter
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
|
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
|
||||||
import io.element.android.tests.testutils.testCoroutineDispatchers
|
import io.element.android.tests.testutils.testCoroutineDispatchers
|
||||||
|
import kotlinx.coroutines.test.TestScope
|
||||||
|
|
||||||
internal fun aTimelineItemsFactory(): TimelineItemsFactory {
|
internal fun TestScope.aTimelineItemsFactory(): TimelineItemsFactory {
|
||||||
val timelineEventFormatter = aTimelineEventFormatter()
|
val timelineEventFormatter = aTimelineEventFormatter()
|
||||||
return TimelineItemsFactory(
|
return TimelineItemsFactory(
|
||||||
dispatchers = testCoroutineDispatchers(),
|
dispatchers = testCoroutineDispatchers(),
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ import io.element.android.libraries.usersearch.api.UserSearchResult
|
||||||
import io.element.android.libraries.usersearch.test.FakeUserRepository
|
import io.element.android.libraries.usersearch.test.FakeUserRepository
|
||||||
import io.element.android.tests.testutils.testCoroutineDispatchers
|
import io.element.android.tests.testutils.testCoroutineDispatchers
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.coroutines.test.TestScope
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
@ -368,7 +369,7 @@ internal class RoomInviteMembersPresenterTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createDataSource(
|
private fun TestScope.createDataSource(
|
||||||
matrixRoom: MatrixRoom = aMatrixRoom().apply {
|
matrixRoom: MatrixRoom = aMatrixRoom().apply {
|
||||||
givenRoomMembersState(MatrixRoomMembersState.Ready(aRoomMemberList()))
|
givenRoomMembersState(MatrixRoomMembersState.Ready(aRoomMemberList()))
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState
|
||||||
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
||||||
import io.element.android.tests.testutils.testCoroutineDispatchers
|
import io.element.android.tests.testutils.testCoroutineDispatchers
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
|
import kotlinx.coroutines.test.TestScope
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
@ -165,7 +166,7 @@ class RoomMemberListPresenterTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ExperimentalCoroutinesApi
|
@ExperimentalCoroutinesApi
|
||||||
private fun createDataSource(
|
private fun TestScope.createDataSource(
|
||||||
matrixRoom: MatrixRoom = aMatrixRoom().apply {
|
matrixRoom: MatrixRoom = aMatrixRoom().apply {
|
||||||
givenRoomMembersState(MatrixRoomMembersState.Ready(aRoomMemberList()))
|
givenRoomMembersState(MatrixRoomMembersState.Ready(aRoomMemberList()))
|
||||||
},
|
},
|
||||||
|
|
@ -173,7 +174,7 @@ private fun createDataSource(
|
||||||
) = RoomMemberListDataSource(matrixRoom, coroutineDispatchers)
|
) = RoomMemberListDataSource(matrixRoom, coroutineDispatchers)
|
||||||
|
|
||||||
@ExperimentalCoroutinesApi
|
@ExperimentalCoroutinesApi
|
||||||
private fun createPresenter(
|
private fun TestScope.createPresenter(
|
||||||
matrixRoom: MatrixRoom = FakeMatrixRoom(),
|
matrixRoom: MatrixRoom = FakeMatrixRoom(),
|
||||||
roomMemberListDataSource: RoomMemberListDataSource = createDataSource(),
|
roomMemberListDataSource: RoomMemberListDataSource = createDataSource(),
|
||||||
coroutineDispatchers: CoroutineDispatchers = testCoroutineDispatchers()
|
coroutineDispatchers: CoroutineDispatchers = testCoroutineDispatchers()
|
||||||
|
|
|
||||||
|
|
@ -21,19 +21,16 @@ package io.element.android.tests.testutils
|
||||||
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.test.StandardTestDispatcher
|
import kotlinx.coroutines.test.StandardTestDispatcher
|
||||||
import kotlinx.coroutines.test.TestCoroutineScheduler
|
import kotlinx.coroutines.test.TestScope
|
||||||
import kotlinx.coroutines.test.UnconfinedTestDispatcher
|
import kotlinx.coroutines.test.UnconfinedTestDispatcher
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a [CoroutineDispatchers] instance for testing.
|
* Create a [CoroutineDispatchers] instance for testing.
|
||||||
*
|
*
|
||||||
* @param testScheduler The [TestCoroutineScheduler] to use. If using [runTest] use the one provided by its [TestScope].
|
|
||||||
* If null the [TestDispatcher] logic will select one or create a new one.
|
|
||||||
* @param useUnconfinedTestDispatcher If true, use [UnconfinedTestDispatcher] for all dispatchers.
|
* @param useUnconfinedTestDispatcher If true, use [UnconfinedTestDispatcher] for all dispatchers.
|
||||||
* If false, use [StandardTestDispatcher] for all dispatchers.
|
* If false, use [StandardTestDispatcher] for all dispatchers.
|
||||||
*/
|
*/
|
||||||
fun testCoroutineDispatchers(
|
fun TestScope.testCoroutineDispatchers(
|
||||||
testScheduler: TestCoroutineScheduler? = null,
|
|
||||||
useUnconfinedTestDispatcher: Boolean = true,
|
useUnconfinedTestDispatcher: Boolean = true,
|
||||||
): CoroutineDispatchers = when (useUnconfinedTestDispatcher) {
|
): CoroutineDispatchers = when (useUnconfinedTestDispatcher) {
|
||||||
false -> CoroutineDispatchers(
|
false -> CoroutineDispatchers(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue