From 8e43e66115faed92e362c9e81c2368682d3e80d9 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Wed, 27 Sep 2023 12:22:23 +0300 Subject: [PATCH] Fix unit tests after the introduction of `canBeRepliedTo` on timeline items --- UnitTests/Sources/LoggingTests.swift | 6 +++ .../Sources/RoomScreenViewModelTests.swift | 2 + .../Sources/TextBasedRoomTimelineTests.swift | 45 ++++++++++++++++--- 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/UnitTests/Sources/LoggingTests.swift b/UnitTests/Sources/LoggingTests.swift index 2de801f9d..3a1eec931 100644 --- a/UnitTests/Sources/LoggingTests.swift +++ b/UnitTests/Sources/LoggingTests.swift @@ -257,6 +257,7 @@ class LoggingTests: XCTestCase { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "sender"), content: .init(body: "TextString", formattedBody: AttributedString(textAttributedString))) @@ -265,6 +266,7 @@ class LoggingTests: XCTestCase { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "sender"), content: .init(body: "NoticeString", formattedBody: AttributedString(noticeAttributedString))) @@ -273,6 +275,7 @@ class LoggingTests: XCTestCase { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "sender"), content: .init(body: "EmoteString", formattedBody: AttributedString(emoteAttributedString))) @@ -280,6 +283,7 @@ class LoggingTests: XCTestCase { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "sender"), content: .init(body: "ImageString", source: MediaSourceProxy(url: .picturesDirectory, mimeType: "image/gif"), thumbnailSource: nil)) @@ -287,6 +291,7 @@ class LoggingTests: XCTestCase { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "sender"), content: .init(body: "VideoString", duration: 0, source: nil, thumbnailSource: nil)) @@ -294,6 +299,7 @@ class LoggingTests: XCTestCase { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "sender"), content: .init(body: "FileString", source: nil, thumbnailSource: nil, contentType: nil)) diff --git a/UnitTests/Sources/RoomScreenViewModelTests.swift b/UnitTests/Sources/RoomScreenViewModelTests.swift index c6d9f395d..5c1b0c18d 100644 --- a/UnitTests/Sources/RoomScreenViewModelTests.swift +++ b/UnitTests/Sources/RoomScreenViewModelTests.swift @@ -512,6 +512,7 @@ private extension TextRoomTimelineItem { timestamp: "10:47 am", isOutgoing: sender == "bob", isEditable: sender == "bob", + canBeRepliedTo: true, isThreaded: false, sender: .init(id: "@\(sender):server.com", displayName: sender), content: .init(body: text), @@ -531,6 +532,7 @@ private extension TextRoomTimelineItem { timestamp: "", isOutgoing: false, isEditable: false, + canBeRepliedTo: true, isThreaded: false, sender: .init(id: ""), content: .init(body: "Hello, World!")) diff --git a/UnitTests/Sources/TextBasedRoomTimelineTests.swift b/UnitTests/Sources/TextBasedRoomTimelineTests.swift index 02c369ebc..c48d4e6d6 100644 --- a/UnitTests/Sources/TextBasedRoomTimelineTests.swift +++ b/UnitTests/Sources/TextBasedRoomTimelineTests.swift @@ -20,24 +20,52 @@ import XCTest final class TextBasedRoomTimelineTests: XCTestCase { func testTextRoomTimelineItemWhitespaceEnd() { let timestamp = "Now" - let timelineItem = TextRoomTimelineItem(id: .random, timestamp: timestamp, isOutgoing: true, isEditable: true, isThreaded: false, sender: .init(id: UUID().uuidString), content: .init(body: "Test")) + let timelineItem = TextRoomTimelineItem(id: .random, + timestamp: timestamp, + isOutgoing: true, + isEditable: true, + canBeRepliedTo: true, + isThreaded: false, + sender: .init(id: UUID().uuidString), + content: .init(body: "Test")) XCTAssertEqual(timelineItem.additionalWhitespaces(timelineStyle: .bubbles), timestamp.count + 1) } func testTextRoomTimelineItemWhitespaceEndLonger() { let timestamp = "10:00 AM" - let timelineItem = TextRoomTimelineItem(id: .random, timestamp: timestamp, isOutgoing: true, isEditable: true, isThreaded: false, sender: .init(id: UUID().uuidString), content: .init(body: "Test")) + let timelineItem = TextRoomTimelineItem(id: .random, + timestamp: timestamp, + isOutgoing: true, + isEditable: true, + canBeRepliedTo: true, + isThreaded: false, + sender: .init(id: UUID().uuidString), + content: .init(body: "Test")) XCTAssertEqual(timelineItem.additionalWhitespaces(timelineStyle: .bubbles), timestamp.count + 1) } func testTextRoomTimelineItemWhitespaceEndPlain() { - let timelineItem = TextRoomTimelineItem(id: .random, timestamp: "Now", isOutgoing: true, isEditable: true, isThreaded: false, sender: .init(id: UUID().uuidString), content: .init(body: "Test")) + let timelineItem = TextRoomTimelineItem(id: .random, + timestamp: "Now", + isOutgoing: true, + isEditable: true, + canBeRepliedTo: true, + isThreaded: false, + sender: .init(id: UUID().uuidString), + content: .init(body: "Test")) XCTAssertEqual(timelineItem.additionalWhitespaces(timelineStyle: .plain), 0) } func testTextRoomTimelineItemWhitespaceEndWithEdit() { let timestamp = "Now" - var timelineItem = TextRoomTimelineItem(id: .random, timestamp: timestamp, isOutgoing: true, isEditable: true, isThreaded: false, sender: .init(id: UUID().uuidString), content: .init(body: "Test")) + var timelineItem = TextRoomTimelineItem(id: .random, + timestamp: timestamp, + isOutgoing: true, + isEditable: true, + canBeRepliedTo: true, + isThreaded: false, + sender: .init(id: UUID().uuidString), + content: .init(body: "Test")) timelineItem.properties.isEdited = true let editedCount = L10n.commonEditedSuffix.count XCTAssertEqual(timelineItem.additionalWhitespaces(timelineStyle: .bubbles), timestamp.count + editedCount + 2) @@ -45,7 +73,14 @@ final class TextBasedRoomTimelineTests: XCTestCase { func testTextRoomTimelineItemWhitespaceEndWithEditAndAlert() { let timestamp = "Now" - var timelineItem = TextRoomTimelineItem(id: .random, timestamp: timestamp, isOutgoing: true, isEditable: true, isThreaded: false, sender: .init(id: UUID().uuidString), content: .init(body: "Test")) + var timelineItem = TextRoomTimelineItem(id: .random, + timestamp: timestamp, + isOutgoing: true, + isEditable: true, + canBeRepliedTo: true, + isThreaded: false, + sender: .init(id: UUID().uuidString), + content: .init(body: "Test")) timelineItem.properties.isEdited = true timelineItem.properties.deliveryStatus = .sendingFailed let editedCount = L10n.commonEditedSuffix.count