Fix tests, replace outdated SDK fixtures
This commit is contained in:
parent
29356b96c1
commit
ed1cb24c28
7 changed files with 122 additions and 64 deletions
|
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.factories
|
||||
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventShieldsProvider
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItemDebugInfoProvider
|
||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import org.matrix.rustcomponents.sdk.EventOrTransactionId
|
||||
import org.matrix.rustcomponents.sdk.EventSendState
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItem
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.ProfileDetails
|
||||
import org.matrix.rustcomponents.sdk.Reaction
|
||||
import org.matrix.rustcomponents.sdk.Receipt
|
||||
import org.matrix.rustcomponents.sdk.ShieldState
|
||||
import org.matrix.rustcomponents.sdk.TimelineItemContent
|
||||
import uniffi.matrix_sdk_ui.EventItemOrigin
|
||||
|
||||
fun aRustEventTimelineItem(
|
||||
isLocal: Boolean = false,
|
||||
isRemote: Boolean = true,
|
||||
eventOrTransactionId: EventOrTransactionId = EventOrTransactionId.EventId(AN_EVENT_ID.value),
|
||||
sender: String = A_USER_ID.value,
|
||||
senderProfile: ProfileDetails = ProfileDetails.Unavailable,
|
||||
isOwn: Boolean = true,
|
||||
isEditable: Boolean = true,
|
||||
content: TimelineItemContent = aRustTimelineItemMessageContent(),
|
||||
timestamp: ULong = 0uL,
|
||||
reactions: List<Reaction> = emptyList(),
|
||||
debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(),
|
||||
localSendState: EventSendState? = null,
|
||||
readReceipts: Map<String, Receipt> = emptyMap(),
|
||||
origin: EventItemOrigin? = EventItemOrigin.SYNC,
|
||||
canBeRepliedTo: Boolean = true,
|
||||
shieldsState: ShieldState? = null,
|
||||
) = EventTimelineItem(
|
||||
isLocal = isLocal,
|
||||
isRemote = isRemote,
|
||||
eventOrTransactionId = eventOrTransactionId,
|
||||
sender = sender,
|
||||
senderProfile = senderProfile,
|
||||
timestamp = timestamp,
|
||||
isOwn = isOwn,
|
||||
isEditable = isEditable,
|
||||
canBeRepliedTo = canBeRepliedTo,
|
||||
content = content,
|
||||
debugInfoProvider = FakeRustEventTimelineItemDebugInfoProvider(debugInfo),
|
||||
shieldsProvider = FakeRustEventShieldsProvider(shieldsState),
|
||||
localSendState = localSendState,
|
||||
reactions = reactions,
|
||||
readReceipts = readReceipts,
|
||||
origin = origin,
|
||||
)
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.factories
|
||||
|
||||
import org.matrix.rustcomponents.sdk.MessageContent
|
||||
import org.matrix.rustcomponents.sdk.MessageType
|
||||
import org.matrix.rustcomponents.sdk.TextMessageContent
|
||||
import org.matrix.rustcomponents.sdk.TimelineItemContent
|
||||
|
||||
fun aRustTimelineItemMessageContent(body: String = "Hello") = TimelineItemContent.Message(
|
||||
content = MessageContent(
|
||||
msgType = MessageType.Text(content = TextMessageContent(body = body, formatted = null)),
|
||||
body = body,
|
||||
inReplyTo = null,
|
||||
threadRoot = null,
|
||||
isEdited = false,
|
||||
mentions = null,
|
||||
)
|
||||
)
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.fakes
|
||||
|
||||
import org.matrix.rustcomponents.sdk.EventShieldsProvider
|
||||
import org.matrix.rustcomponents.sdk.NoPointer
|
||||
import org.matrix.rustcomponents.sdk.ShieldState
|
||||
|
||||
class FakeRustEventShieldsProvider(
|
||||
private val shieldsState: ShieldState? = null,
|
||||
) : EventShieldsProvider(NoPointer) {
|
||||
override fun getShields(strict: Boolean): ShieldState? = shieldsState
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.fakes
|
||||
|
||||
import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo
|
||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import org.matrix.rustcomponents.sdk.EventSendState
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItem
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.NoPointer
|
||||
import org.matrix.rustcomponents.sdk.ProfileDetails
|
||||
import org.matrix.rustcomponents.sdk.Reaction
|
||||
import org.matrix.rustcomponents.sdk.Receipt
|
||||
import org.matrix.rustcomponents.sdk.ShieldState
|
||||
import org.matrix.rustcomponents.sdk.TimelineItemContent
|
||||
import uniffi.matrix_sdk_ui.EventItemOrigin
|
||||
|
||||
class FakeRustEventTimelineItem(
|
||||
private val origin: EventItemOrigin? = null,
|
||||
) : EventTimelineItem(NoPointer) {
|
||||
override fun origin(): EventItemOrigin? = origin
|
||||
override fun eventId(): String = AN_EVENT_ID.value
|
||||
override fun transactionId(): String? = null
|
||||
override fun isEditable(): Boolean = false
|
||||
override fun canBeRepliedTo(): Boolean = false
|
||||
override fun isLocal(): Boolean = false
|
||||
override fun isOwn(): Boolean = false
|
||||
override fun isRemote(): Boolean = false
|
||||
override fun localSendState(): EventSendState? = null
|
||||
override fun reactions(): List<Reaction> = emptyList()
|
||||
override fun readReceipts(): Map<String, Receipt> = emptyMap()
|
||||
override fun sender(): String = A_USER_ID.value
|
||||
override fun senderProfile(): ProfileDetails = ProfileDetails.Unavailable
|
||||
override fun timestamp(): ULong = 0u
|
||||
override fun content(): TimelineItemContent = FakeRustTimelineItemContent()
|
||||
override fun debugInfo(): EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo()
|
||||
override fun getShield(strict: Boolean): ShieldState? = null
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.fakes
|
||||
|
||||
import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider
|
||||
import org.matrix.rustcomponents.sdk.NoPointer
|
||||
|
||||
class FakeRustEventTimelineItemDebugInfoProvider(
|
||||
private val debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(),
|
||||
) : EventTimelineItemDebugInfoProvider(NoPointer) {
|
||||
override fun get(): EventTimelineItemDebugInfo = debugInfo
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.fakes
|
||||
|
||||
import org.matrix.rustcomponents.sdk.Message
|
||||
import org.matrix.rustcomponents.sdk.NoPointer
|
||||
import org.matrix.rustcomponents.sdk.TimelineItemContent
|
||||
import org.matrix.rustcomponents.sdk.TimelineItemContentKind
|
||||
|
||||
class FakeRustTimelineItemContent : TimelineItemContent(NoPointer) {
|
||||
override fun asMessage(): Message? = null
|
||||
override fun kind(): TimelineItemContentKind = TimelineItemContentKind.Message
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ package io.element.android.libraries.matrix.impl.timeline
|
|||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItem
|
||||
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustEventTimelineItem
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimeline
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineDiff
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineItem
|
||||
|
|
@ -94,7 +94,7 @@ class TimelineItemsSubscriberTest {
|
|||
listOf(
|
||||
FakeRustTimelineDiff(
|
||||
item = FakeRustTimelineItem(
|
||||
asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC)
|
||||
asEventResult = aRustEventTimelineItem(origin = EventItemOrigin.SYNC),
|
||||
),
|
||||
change = TimelineChange.RESET,
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue