40 lines
1.5 KiB
Swift
40 lines
1.5 KiB
Swift
//
|
|
// Copyright 2025 Element Creations Ltd.
|
|
// Copyright 2024-2025 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
@testable import ElementX
|
|
import MatrixRustSDK
|
|
import Testing
|
|
|
|
@MainActor
|
|
struct TimelineItemFactoryTests {
|
|
@Test
|
|
func callInvite() throws {
|
|
let ownUserID = "@alice:matrix.org"
|
|
let senderUserID = "@bob:matrix.org"
|
|
|
|
let factory = RoomTimelineItemFactory(userID: ownUserID,
|
|
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
|
|
stateEventStringBuilder: RoomStateEventStringBuilder(userID: ownUserID))
|
|
|
|
let eventTimelineItem = EventTimelineItem.mockCallInvite(sender: senderUserID)
|
|
|
|
let eventTimelineItemProxy = EventTimelineItemProxy(item: eventTimelineItem, uniqueID: .init("0"))
|
|
|
|
let item = try #require(factory.buildTimelineItem(for: eventTimelineItemProxy, isDM: false) as? CallInviteRoomTimelineItem,
|
|
"Incorrect item type")
|
|
|
|
#expect(item.isReactable == false)
|
|
#expect(item.canBeRepliedTo == false)
|
|
#expect(item.isEditable == false)
|
|
#expect(item.sender == TimelineItemSender(id: senderUserID))
|
|
#expect(item.properties.isEdited == false)
|
|
#expect(item.properties.reactions == [])
|
|
#expect(item.properties.deliveryStatus == nil)
|
|
}
|
|
}
|