Skip to content

Commit 9f7e4d5

Browse files
authored
Merge pull request #3585 from element-hq/feature/bma/fixTests
Fix tests on develop
2 parents 29356b9 + 55c11e9 commit 9f7e4d5

File tree

10 files changed

+131
-73
lines changed

10 files changed

+131
-73
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright 2024 New Vector Ltd.
3+
*
4+
* SPDX-License-Identifier: AGPL-3.0-only
5+
* Please see LICENSE in the repository root for full details.
6+
*/
7+
8+
package io.element.android.libraries.matrix.impl.fixtures.factories
9+
10+
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventShieldsProvider
11+
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItemDebugInfoProvider
12+
import io.element.android.libraries.matrix.test.AN_EVENT_ID
13+
import io.element.android.libraries.matrix.test.A_USER_ID
14+
import org.matrix.rustcomponents.sdk.EventOrTransactionId
15+
import org.matrix.rustcomponents.sdk.EventSendState
16+
import org.matrix.rustcomponents.sdk.EventTimelineItem
17+
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo
18+
import org.matrix.rustcomponents.sdk.ProfileDetails
19+
import org.matrix.rustcomponents.sdk.Reaction
20+
import org.matrix.rustcomponents.sdk.Receipt
21+
import org.matrix.rustcomponents.sdk.ShieldState
22+
import org.matrix.rustcomponents.sdk.TimelineItemContent
23+
import uniffi.matrix_sdk_ui.EventItemOrigin
24+
25+
fun aRustEventTimelineItem(
26+
isLocal: Boolean = false,
27+
isRemote: Boolean = true,
28+
eventOrTransactionId: EventOrTransactionId = EventOrTransactionId.EventId(AN_EVENT_ID.value),
29+
sender: String = A_USER_ID.value,
30+
senderProfile: ProfileDetails = ProfileDetails.Unavailable,
31+
isOwn: Boolean = true,
32+
isEditable: Boolean = true,
33+
content: TimelineItemContent = aRustTimelineItemMessageContent(),
34+
timestamp: ULong = 0uL,
35+
reactions: List<Reaction> = emptyList(),
36+
debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(),
37+
localSendState: EventSendState? = null,
38+
readReceipts: Map<String, Receipt> = emptyMap(),
39+
origin: EventItemOrigin? = EventItemOrigin.SYNC,
40+
canBeRepliedTo: Boolean = true,
41+
shieldsState: ShieldState? = null,
42+
) = EventTimelineItem(
43+
isLocal = isLocal,
44+
isRemote = isRemote,
45+
eventOrTransactionId = eventOrTransactionId,
46+
sender = sender,
47+
senderProfile = senderProfile,
48+
timestamp = timestamp,
49+
isOwn = isOwn,
50+
isEditable = isEditable,
51+
canBeRepliedTo = canBeRepliedTo,
52+
content = content,
53+
debugInfoProvider = FakeRustEventTimelineItemDebugInfoProvider(debugInfo),
54+
shieldsProvider = FakeRustEventShieldsProvider(shieldsState),
55+
localSendState = localSendState,
56+
reactions = reactions,
57+
readReceipts = readReceipts,
58+
origin = origin,
59+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright 2024 New Vector Ltd.
3+
*
4+
* SPDX-License-Identifier: AGPL-3.0-only
5+
* Please see LICENSE in the repository root for full details.
6+
*/
7+
8+
package io.element.android.libraries.matrix.impl.fixtures.factories
9+
10+
import org.matrix.rustcomponents.sdk.MessageContent
11+
import org.matrix.rustcomponents.sdk.MessageType
12+
import org.matrix.rustcomponents.sdk.TextMessageContent
13+
import org.matrix.rustcomponents.sdk.TimelineItemContent
14+
15+
fun aRustTimelineItemMessageContent(body: String = "Hello") = TimelineItemContent.Message(
16+
content = MessageContent(
17+
msgType = MessageType.Text(content = TextMessageContent(body = body, formatted = null)),
18+
body = body,
19+
inReplyTo = null,
20+
threadRoot = null,
21+
isEdited = false,
22+
mentions = null,
23+
)
24+
)

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClient.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class FakeRustClient(
4242
override fun cachedAvatarUrl(): String? = null
4343
override suspend fun restoreSession(session: Session) = Unit
4444
override fun syncService(): SyncServiceBuilder = FakeRustSyncServiceBuilder()
45-
override fun roomDirectorySearch(): RoomDirectorySearch = FakeRoomDirectorySearch()
45+
override fun roomDirectorySearch(): RoomDirectorySearch = FakeRustRoomDirectorySearch()
4646
override suspend fun setPusher(
4747
identifiers: PusherIdentifiers,
4848
kind: PusherKind,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Copyright 2024 New Vector Ltd.
3+
*
4+
* SPDX-License-Identifier: AGPL-3.0-only
5+
* Please see LICENSE in the repository root for full details.
6+
*/
7+
8+
package io.element.android.libraries.matrix.impl.fixtures.fakes
9+
10+
import org.matrix.rustcomponents.sdk.EventShieldsProvider
11+
import org.matrix.rustcomponents.sdk.NoPointer
12+
import org.matrix.rustcomponents.sdk.ShieldState
13+
14+
class FakeRustEventShieldsProvider(
15+
private val shieldsState: ShieldState? = null,
16+
) : EventShieldsProvider(NoPointer) {
17+
override fun getShields(strict: Boolean): ShieldState? = shieldsState
18+
}

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt

Lines changed: 0 additions & 44 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright 2024 New Vector Ltd.
3+
*
4+
* SPDX-License-Identifier: AGPL-3.0-only
5+
* Please see LICENSE in the repository root for full details.
6+
*/
7+
8+
package io.element.android.libraries.matrix.impl.fixtures.fakes
9+
10+
import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo
11+
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo
12+
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider
13+
import org.matrix.rustcomponents.sdk.NoPointer
14+
15+
class FakeRustEventTimelineItemDebugInfoProvider(
16+
private val debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(),
17+
) : EventTimelineItemDebugInfoProvider(NoPointer) {
18+
override fun get(): EventTimelineItemDebugInfo = debugInfo
19+
}

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRoomDirectorySearch.kt renamed to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomDirectorySearch.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntriesListener
1414
import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntryUpdate
1515
import org.matrix.rustcomponents.sdk.TaskHandle
1616

17-
class FakeRoomDirectorySearch(
17+
class FakeRustRoomDirectorySearch(
1818
var isAtLastPage: Boolean = false,
1919
) : RoomDirectorySearch(NoPointer) {
2020
override suspend fun isAtLastPage(): Boolean {

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt

Lines changed: 0 additions & 18 deletions
This file was deleted.

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import app.cash.turbine.test
1111
import com.google.common.truth.Truth.assertThat
1212
import io.element.android.libraries.matrix.api.roomdirectory.RoomDirectoryList
1313
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomDescription
14-
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRoomDirectorySearch
14+
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomDirectorySearch
1515
import io.element.android.libraries.matrix.test.A_ROOM_ID_2
1616
import kotlinx.coroutines.CoroutineScope
1717
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -27,17 +27,17 @@ import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntryUpdate
2727
class RustRoomDirectoryListTest {
2828
@Test
2929
fun `check that the state emits the expected values`() = runTest {
30-
val fakeRoomDirectorySearch = FakeRoomDirectorySearch()
30+
val roomDirectorySearch = FakeRustRoomDirectorySearch()
3131
val mapper = RoomDescriptionMapper()
3232
val sut = createRustRoomDirectoryList(
33-
roomDirectorySearch = fakeRoomDirectorySearch,
33+
roomDirectorySearch = roomDirectorySearch,
3434
scope = backgroundScope,
3535
)
3636
// Let the mxCallback be ready
3737
runCurrent()
3838
sut.state.test {
3939
sut.filter("", 20)
40-
fakeRoomDirectorySearch.emitResult(
40+
roomDirectorySearch.emitResult(
4141
listOf(
4242
RoomDirectorySearchEntryUpdate.Append(listOf(aRustRoomDescription()))
4343
)
@@ -50,9 +50,9 @@ class RustRoomDirectoryListTest {
5050
)
5151
)
5252
assertThat(initialItem.hasMoreToLoad).isTrue()
53-
fakeRoomDirectorySearch.isAtLastPage = true
53+
roomDirectorySearch.isAtLastPage = true
5454
sut.loadMore()
55-
fakeRoomDirectorySearch.emitResult(
55+
roomDirectorySearch.emitResult(
5656
listOf(
5757
RoomDirectorySearchEntryUpdate.Append(listOf(aRustRoomDescription(A_ROOM_ID_2.value)))
5858
)
@@ -80,7 +80,7 @@ class RustRoomDirectoryListTest {
8080
}
8181

8282
private fun TestScope.createRustRoomDirectoryList(
83-
roomDirectorySearch: RoomDirectorySearch = FakeRoomDirectorySearch(),
83+
roomDirectorySearch: RoomDirectorySearch = FakeRustRoomDirectorySearch(),
8484
scope: CoroutineScope,
8585
) = RustRoomDirectoryList(
8686
inner = roomDirectorySearch,

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package io.element.android.libraries.matrix.impl.timeline
1010
import app.cash.turbine.test
1111
import com.google.common.truth.Truth.assertThat
1212
import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem
13-
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItem
13+
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustEventTimelineItem
1414
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimeline
1515
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineDiff
1616
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineItem
@@ -94,7 +94,7 @@ class TimelineItemsSubscriberTest {
9494
listOf(
9595
FakeRustTimelineDiff(
9696
item = FakeRustTimelineItem(
97-
asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC)
97+
asEventResult = aRustEventTimelineItem(origin = EventItemOrigin.SYNC),
9898
),
9999
change = TimelineChange.RESET,
100100
)

0 commit comments

Comments
 (0)