diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index efc4e911b..24880f3c6 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -60,6 +60,7 @@ 06D17F7813AA931FF18FD5D0 /* SDKListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5CD2993048222B64C45006 /* SDKListener.swift */; }; 06D3942496E9E0E655F14D21 /* NotificationManagerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = A057F2FDC14866C3026A89A4 /* NotificationManagerProtocol.swift */; }; 06F8EDF52E33A2D36BCC1161 /* AppLockScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56D6F88FE35A0979D2821E06 /* AppLockScreen.swift */; }; + 071244C4CCD5E932ACC3D36D /* TimelineFixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F65178687F725E8924B723C /* TimelineFixtures.swift */; }; 071A017E415AD378F2961B11 /* URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 227AC5D71A4CE43512062243 /* URL.swift */; }; 0728314DD51AC3819F818EA8 /* LogLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2711E5996016ABD6EAAEB58A /* LogLevel.swift */; }; 07376A5274822EB45CC320C7 /* InvitedRoomProxyMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A21027F05874B1BCC3E452B /* InvitedRoomProxyMock.swift */; }; @@ -673,7 +674,6 @@ 6FC10A00D268FCD48B631E37 /* ViewFrameReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF7BF82A950B91BC5469E91 /* ViewFrameReader.swift */; }; 6FD8053301C5FEFA82D2F246 /* URLComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BFDCA5A09EE70BC17F2EFA7 /* URLComponents.swift */; }; 70394ECD2DCC70741538620D /* AccessibilityIdentifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BB8DDE245ED86C489BA983 /* AccessibilityIdentifiers.swift */; }; - 70558528EF68CAAEF09972D5 /* RoomTimelineItemFixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = E96ED747FF90332EA1333C22 /* RoomTimelineItemFixtures.swift */; }; 706289B086B0A6B0C211763F /* UITestsSignalling.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7F0192CE2F891141A25B49F /* UITestsSignalling.swift */; }; 707E49BE07E8EB8A13C0EB1E /* SessionVerificationScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FACD034DB52525A3CEF2BDF /* SessionVerificationScreen.swift */; }; 708FC3184CCED825F0A36273 /* RoomThreadListServiceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCE06F4A71FD46C9D8CD432E /* RoomThreadListServiceProxy.swift */; }; @@ -1923,6 +1923,7 @@ 2E11E7C396ED06A154CF6DF3 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/SAS.strings; sourceTree = ""; }; 2F06F70B9C433BAD4BC6B9F5 /* EncryptedRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptedRoomTimelineView.swift; sourceTree = ""; }; 2F36C5D9B37E50915ECBD3EE /* RoomMemberProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMemberProxy.swift; sourceTree = ""; }; + 2F65178687F725E8924B723C /* TimelineFixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineFixtures.swift; sourceTree = ""; }; 2F926D08EB3D622A480BCA71 /* TimelineEventContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineEventContent.swift; sourceTree = ""; }; 303D9438EFB481F57A366E82 /* EncryptionResetPasswordScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptionResetPasswordScreenViewModel.swift; sourceTree = ""; }; 303FCADE77DF1F3670C086ED /* BugReportScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BugReportScreenViewModel.swift; sourceTree = ""; }; @@ -2958,7 +2959,6 @@ E8A1F98AE670377B20679FF5 /* MediaPlayerProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaPlayerProvider.swift; sourceTree = ""; }; E8AE4B3273BA189FDCD4055C /* UserIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserIndicator.swift; sourceTree = ""; }; E944F717FC10A428D027074D /* RoomPowerLevelsProxyMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomPowerLevelsProxyMock.swift; sourceTree = ""; }; - E96ED747FF90332EA1333C22 /* RoomTimelineItemFixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTimelineItemFixtures.swift; sourceTree = ""; }; E992D7B8BE54B2AB454613AF /* XCUIElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XCUIElement.swift; sourceTree = ""; }; E9A3D3CFA199FA7897364547 /* CallInviteRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallInviteRoomTimelineItem.swift; sourceTree = ""; }; E9B796D347E53631576F631C /* PreviewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewTests.swift; sourceTree = ""; }; @@ -4129,7 +4129,7 @@ 3EA31CC7012EA2A5653DAFC9 /* Fixtures */ = { isa = PBXGroup; children = ( - E96ED747FF90332EA1333C22 /* RoomTimelineItemFixtures.swift */, + 2F65178687F725E8924B723C /* TimelineFixtures.swift */, ); path = Fixtures; sourceTree = ""; @@ -8903,7 +8903,6 @@ 12F7172C93873638B23CD6AD /* RoomThreadListServiceProxyProtocol.swift in Sources */, 4E945AD6862C403F74E57755 /* RoomTimelineItemFactory.swift in Sources */, 13C77FDF17C4C6627CFFC205 /* RoomTimelineItemFactoryProtocol.swift in Sources */, - 70558528EF68CAAEF09972D5 /* RoomTimelineItemFixtures.swift in Sources */, 878070573C7BF19E735707B4 /* RoomTimelineItemProperties.swift in Sources */, 1AE4AEA0FA8DEF52671832E0 /* RoomTimelineItemProtocol.swift in Sources */, AD55E245FE686D7DB4C86406 /* RoomTimelineItemView.swift in Sources */, @@ -9074,6 +9073,7 @@ FA53FA227FFBE469AFF32F71 /* TimelineControllerProtocol.swift in Sources */, 798BF3072137833FBD3F4C96 /* TimelineDeliveryStatusView.swift in Sources */, 22BA593A5E19D8D3DE2FAA6F /* TimelineEventContent.swift in Sources */, + 071244C4CCD5E932ACC3D36D /* TimelineFixtures.swift in Sources */, 109AEB7D33C4497727AFB87F /* TimelineInteractionHandler.swift in Sources */, E6FA87F773424B27614B23E9 /* TimelineItemAccessibilityModifier.swift in Sources */, F6767F17D538578B370DD805 /* TimelineItemBubbleBackground.swift in Sources */, diff --git a/ElementX/Sources/Mocks/TimelineControllerFactoryMock.swift b/ElementX/Sources/Mocks/TimelineControllerFactoryMock.swift index b2e5a8b0c..28b5f031e 100644 --- a/ElementX/Sources/Mocks/TimelineControllerFactoryMock.swift +++ b/ElementX/Sources/Mocks/TimelineControllerFactoryMock.swift @@ -21,7 +21,7 @@ extension TimelineControllerFactoryMock { if let timelineController = configuration.threadTimelineController { return timelineController } else { - return TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.largeChunk)) + return TimelineControllerMock(.init(timelineItems: TimelineFixtures.largeChunk)) } } @@ -29,7 +29,7 @@ extension TimelineControllerFactoryMock { if let timelineController = configuration.threadTimelineController { return .success(timelineController) } else { - let timelineController = TimelineControllerMock(.init(timelineKind: .thread(rootEventID: threadRootEventID), timelineItems: RoomTimelineItemFixtures.largeChunk)) + let timelineController = TimelineControllerMock(.init(timelineKind: .thread(rootEventID: threadRootEventID), timelineItems: TimelineFixtures.largeChunk)) return .success(timelineController) } } diff --git a/ElementX/Sources/Mocks/TimelineControllerMock.swift b/ElementX/Sources/Mocks/TimelineControllerMock.swift index dc1b452fe..3a7d93f0d 100644 --- a/ElementX/Sources/Mocks/TimelineControllerMock.swift +++ b/ElementX/Sources/Mocks/TimelineControllerMock.swift @@ -16,7 +16,7 @@ import MatrixRustSDKMocks struct TimelineControllerMockConfiguration { var roomProxy: JoinedRoomProxyProtocol? var timelineKind: TimelineKind = .live - var timelineItems: [RoomTimelineItemProtocol] = RoomTimelineItemFixtures.default + var timelineItems: [RoomTimelineItemProtocol] = TimelineFixtures.default var timelineProxy: TimelineProxyProtocol? var timelineItemsTimestamps: [TimelineItemIdentifier: Date] = [:] var paginationState: TimelinePaginationState = .initial @@ -25,7 +25,7 @@ struct TimelineControllerMockConfiguration { extension TimelineControllerMock { static var mediaGallery: TimelineControllerMock { TimelineControllerMock(.init(timelineKind: .media(.mediaFilesScreen), timelineItems: (0..<5).reduce([]) { partialResult, _ in - partialResult + [RoomTimelineItemFixtures.separator] + RoomTimelineItemFixtures.mediaChunk + partialResult + [TimelineFixtures.separator] + TimelineFixtures.mediaChunk })) } diff --git a/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift b/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift index 30f826d92..52192ab5e 100644 --- a/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift +++ b/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift @@ -362,11 +362,11 @@ struct TimelineItemMenu_Previews: PreviewProvider, TestablePreview { static func makeItem(itemType: ItemType) -> EventBasedTimelineItemProtocol? { switch itemType { case .incomingText: - RoomTimelineItemFixtures.singleMessageChunk.first as? EventBasedTimelineItemProtocol + TimelineFixtures.singleMessageChunk.first as? EventBasedTimelineItemProtocol case .outgoingMedia: - RoomTimelineItemFixtures.mediaChunk[1] as? EventBasedTimelineItemProtocol + TimelineFixtures.mediaChunk[1] as? EventBasedTimelineItemProtocol case .outgoingMediaWithCaption: - RoomTimelineItemFixtures.mediaChunk[5] as? EventBasedTimelineItemProtocol + TimelineFixtures.mediaChunk[5] as? EventBasedTimelineItemProtocol } } } diff --git a/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/HighlightedTimelineItemModifier.swift b/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/HighlightedTimelineItemModifier.swift index 477eb88e0..5474d38ce 100644 --- a/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/HighlightedTimelineItemModifier.swift +++ b/ElementX/Sources/Screens/Timeline/View/TimelineItemViews/HighlightedTimelineItemModifier.swift @@ -87,7 +87,7 @@ struct HighlightedTimelineItemModifier_Previews: PreviewProvider, TestablePrevie struct HighlightedTimelineItemTimeline_Previews: PreviewProvider { static let roomProxyMock = JoinedRoomProxyMock(.init(name: "Preview room")) static let roomViewModel = RoomScreenViewModel.mock(roomProxyMock: roomProxyMock) - static let focussedEventID = "RoomTimelineItemFixtures.default.5" + static let focussedEventID = "TimelineFixtures.default.5" static let composerViewModel = ComposerToolbarViewModel.mock() static let timelineViewModel = { let appSettings = AppSettings.volatile() diff --git a/ElementX/Sources/Services/Timeline/Fixtures/RoomTimelineItemFixtures.swift b/ElementX/Sources/Services/Timeline/Fixtures/TimelineFixtures.swift similarity index 95% rename from ElementX/Sources/Services/Timeline/Fixtures/RoomTimelineItemFixtures.swift rename to ElementX/Sources/Services/Timeline/Fixtures/TimelineFixtures.swift index d04355679..d4779ceba 100644 --- a/ElementX/Sources/Services/Timeline/Fixtures/RoomTimelineItemFixtures.swift +++ b/ElementX/Sources/Services/Timeline/Fixtures/TimelineFixtures.swift @@ -9,12 +9,12 @@ import Foundation import MatrixRustSDK -enum RoomTimelineItemFixtures { +enum TimelineFixtures { /// The default timeline items used in Xcode previews etc. static var `default`: [RoomTimelineItemProtocol] = [ SeparatorRoomTimelineItem(id: .virtual(uniqueID: .init("Yesterday")), timestamp: .mock), - TextRoomTimelineItem(id: .event(uniqueID: .init(".RoomTimelineItemFixtures.default.0"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.0")), + TextRoomTimelineItem(id: .event(uniqueID: .init(".TimelineFixtures.default.0"), + eventOrTransactionID: .eventID("TimelineFixtures.default.0")), timestamp: .mock, isOutgoing: false, isEditable: false, @@ -22,8 +22,8 @@ enum RoomTimelineItemFixtures { sender: .init(id: "", displayName: "Jacob"), content: .init(body: "That looks so good!"), properties: RoomTimelineItemProperties(isEdited: true)), - TextRoomTimelineItem(id: .event(uniqueID: .init("RoomTimelineItemFixtures.default.1"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.1")), + TextRoomTimelineItem(id: .event(uniqueID: .init("TimelineFixtures.default.1"), + eventOrTransactionID: .eventID("TimelineFixtures.default.1")), timestamp: .mock, isOutgoing: false, isEditable: false, @@ -33,8 +33,8 @@ enum RoomTimelineItemFixtures { properties: RoomTimelineItemProperties(reactions: [ AggregatedReaction(accountOwnerID: "me", key: "🙌", senders: [ReactionSender(id: "me", timestamp: Date())]) ])), - TextRoomTimelineItem(id: .event(uniqueID: .init("RoomTimelineItemFixtures.default.2"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.2")), + TextRoomTimelineItem(id: .event(uniqueID: .init("TimelineFixtures.default.2"), + eventOrTransactionID: .eventID("TimelineFixtures.default.2")), timestamp: .mock, isOutgoing: false, isEditable: false, @@ -52,8 +52,8 @@ enum RoomTimelineItemFixtures { ]) ])), SeparatorRoomTimelineItem(id: .virtual(uniqueID: .init("Today")), timestamp: .mock), - TextRoomTimelineItem(id: .event(uniqueID: .init("RoomTimelineItemFixtures.default.3"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.3")), + TextRoomTimelineItem(id: .event(uniqueID: .init("TimelineFixtures.default.3"), + eventOrTransactionID: .eventID("TimelineFixtures.default.3")), timestamp: .mock, isOutgoing: false, isEditable: false, @@ -61,16 +61,16 @@ enum RoomTimelineItemFixtures { sender: .init(id: "", displayName: "Helena"), content: .init(body: "Wow, cool. Ok, lets go the usual place tomorrow?! Is that too soon? Here’s the menu, let me know what you want it’s on me!"), properties: RoomTimelineItemProperties(orderedReadReceipts: [ReadReceipt(userID: "alice", formattedTimestamp: nil)])), - TextRoomTimelineItem(id: .event(uniqueID: .init("RoomTimelineItemFixtures.default.4"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.4")), + TextRoomTimelineItem(id: .event(uniqueID: .init("TimelineFixtures.default.4"), + eventOrTransactionID: .eventID("TimelineFixtures.default.4")), timestamp: .mock, isOutgoing: true, isEditable: true, canBeRepliedTo: true, sender: .init(id: "", displayName: "Bob"), content: .init(body: "And John's speech was amazing!")), - TextRoomTimelineItem(id: .event(uniqueID: .init("RoomTimelineItemFixtures.default.5"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.5")), + TextRoomTimelineItem(id: .event(uniqueID: .init("TimelineFixtures.default.5"), + eventOrTransactionID: .eventID("TimelineFixtures.default.5")), timestamp: .mock, isOutgoing: true, isEditable: true, @@ -82,8 +82,8 @@ enum RoomTimelineItemFixtures { ReadReceipt(userID: "bob", formattedTimestamp: nil), ReadReceipt(userID: "charlie", formattedTimestamp: nil), ReadReceipt(userID: "dan", formattedTimestamp: nil)])), - TextRoomTimelineItem(id: .event(uniqueID: .init("RoomTimelineItemFixtures.default.6"), - eventOrTransactionID: .eventID("RoomTimelineItemFixtures.default.6")), + TextRoomTimelineItem(id: .event(uniqueID: .init("TimelineFixtures.default.6"), + eventOrTransactionID: .eventID("TimelineFixtures.default.6")), timestamp: .mock, isOutgoing: false, isEditable: false, @@ -248,7 +248,7 @@ enum RoomTimelineItemFixtures { // MARK: - Private helpers -private extension RoomTimelineItemFixtures { +private extension TimelineFixtures { static let factory = RoomTimelineItemFactory(userID: "@alice:matrix.org", attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()), stateEventStringBuilder: RoomStateEventStringBuilder(userID: "@alice:matrix.org")) @@ -273,7 +273,7 @@ extension TimelineItemProxy { private extension TimelineItemProxy { func buildRoomTimelineItem() -> RoomTimelineItemProtocol { guard case .event(let eventProxy) = self, - let item = RoomTimelineItemFixtures.factory.buildTimelineItem(for: eventProxy, isDM: false) else { + let item = TimelineFixtures.factory.buildTimelineItem(for: eventProxy, isDM: false) else { fatalError() } diff --git a/ElementX/Sources/UITests/UITestsAppCoordinator.swift b/ElementX/Sources/UITests/UITestsAppCoordinator.swift index c44dcdadd..e2f9dc0d6 100644 --- a/ElementX/Sources/UITests/UITestsAppCoordinator.swift +++ b/ElementX/Sources/UITests/UITestsAppCoordinator.swift @@ -309,7 +309,7 @@ class MockScreen: Identifiable { return navigationStackCoordinator case .roomSmallTimeline: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.smallChunk)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.smallChunk)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "New room", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -330,7 +330,7 @@ class MockScreen: Identifiable { return navigationStackCoordinator case .roomSmallTimelineWithReactions: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.default)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.default)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "New room", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -350,7 +350,7 @@ class MockScreen: Identifiable { return navigationStackCoordinator case .roomSmallTimelineWithReadReceipts: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.smallChunkWithReadReceipts)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.smallChunkWithReadReceipts)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "New room", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -371,10 +371,10 @@ class MockScreen: Identifiable { case .roomSmallTimelineIncomingAndSmallPagination: let navigationStackCoordinator = NavigationStackCoordinator() - let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.smallChunkProxies, + let itemProvider = SignallingTimelineItemProviderMock(itemProxies: TimelineFixtures.smallChunkProxies, listenForSignals: true) - itemProvider.backPaginationResponses = [RoomTimelineItemFixtures.singleMessageChunkProxies] - itemProvider.incomingItems = [RoomTimelineItemFixtures.incomingMessageProxy] + itemProvider.backPaginationResponses = [TimelineFixtures.singleMessageChunkProxies] + itemProvider.incomingItems = [TimelineFixtures.incomingMessageProxy] let roomProxy = JoinedRoomProxyMock(.init(name: "Small timeline", avatarURL: .mockMXCAvatar)) let timelineController = makeSignallingTimelineController(itemProvider: itemProvider, roomProxy: roomProxy) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), @@ -398,9 +398,9 @@ class MockScreen: Identifiable { case .roomSmallTimelineLargePagination: let navigationStackCoordinator = NavigationStackCoordinator() - let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.smallChunkProxies, + let itemProvider = SignallingTimelineItemProviderMock(itemProxies: TimelineFixtures.smallChunkProxies, listenForSignals: true) - itemProvider.backPaginationResponses = [RoomTimelineItemFixtures.largeChunkProxies] + itemProvider.backPaginationResponses = [TimelineFixtures.largeChunkProxies] let roomProxy = JoinedRoomProxyMock(.init(name: "Small timeline, paginating", avatarURL: .mockMXCAvatar)) let timelineController = makeSignallingTimelineController(itemProvider: itemProvider, roomProxy: roomProxy) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), @@ -423,9 +423,9 @@ class MockScreen: Identifiable { case .roomLayoutTop: let navigationStackCoordinator = NavigationStackCoordinator() - let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.largeChunkProxies, + let itemProvider = SignallingTimelineItemProviderMock(itemProxies: TimelineFixtures.largeChunkProxies, listenForSignals: true) - itemProvider.backPaginationResponses = [RoomTimelineItemFixtures.largeChunkProxies] + itemProvider.backPaginationResponses = [TimelineFixtures.largeChunkProxies] let roomProxy = JoinedRoomProxyMock(.init(name: "Large timeline", avatarURL: .mockMXCAvatar)) let timelineController = makeSignallingTimelineController(itemProvider: itemProvider, roomProxy: roomProxy) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), @@ -449,10 +449,10 @@ class MockScreen: Identifiable { case .roomLayoutMiddle: let navigationStackCoordinator = NavigationStackCoordinator() - let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.largeChunkProxies, + let itemProvider = SignallingTimelineItemProviderMock(itemProxies: TimelineFixtures.largeChunkProxies, listenForSignals: true) - itemProvider.backPaginationResponses = [RoomTimelineItemFixtures.largeChunkProxies] - itemProvider.incomingItems = [RoomTimelineItemFixtures.incomingMessageProxy] + itemProvider.backPaginationResponses = [TimelineFixtures.largeChunkProxies] + itemProvider.incomingItems = [TimelineFixtures.incomingMessageProxy] let roomProxy = JoinedRoomProxyMock(.init(name: "Large timeline", avatarURL: .mockMXCAvatar)) let timelineController = makeSignallingTimelineController(itemProvider: itemProvider, roomProxy: roomProxy) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), @@ -476,9 +476,9 @@ class MockScreen: Identifiable { case .roomLayoutBottom: let navigationStackCoordinator = NavigationStackCoordinator() - let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.largeChunkProxies, + let itemProvider = SignallingTimelineItemProviderMock(itemProxies: TimelineFixtures.largeChunkProxies, listenForSignals: true) - itemProvider.incomingItems = [RoomTimelineItemFixtures.incomingMessageProxy] + itemProvider.incomingItems = [TimelineFixtures.incomingMessageProxy] let roomProxy = JoinedRoomProxyMock(.init(name: "Large timeline", avatarURL: .mockMXCAvatar)) let timelineController = makeSignallingTimelineController(itemProvider: itemProvider, roomProxy: roomProxy) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), @@ -502,7 +502,7 @@ class MockScreen: Identifiable { case .roomLayoutHighlight: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.permalinkChunk)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.permalinkChunk)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "Timeline highlight", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -537,7 +537,7 @@ class MockScreen: Identifiable { case .roomWithDisclosedPolls: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.disclosedPolls)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.disclosedPolls)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "Polls timeline", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -559,7 +559,7 @@ class MockScreen: Identifiable { case .roomWithUndisclosedPolls: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.undisclosedPolls)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.undisclosedPolls)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "Polls timeline", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -581,7 +581,7 @@ class MockScreen: Identifiable { case .roomWithOutgoingPolls: let navigationStackCoordinator = NavigationStackCoordinator() - let timelineController = TimelineControllerMock(.init(timelineItems: RoomTimelineItemFixtures.outgoingPolls)) + let timelineController = TimelineControllerMock(.init(timelineItems: TimelineFixtures.outgoingPolls)) let parameters = RoomScreenCoordinatorParameters(userSession: UserSessionMock(.init()), roomProxy: JoinedRoomProxyMock(.init(name: "Polls timeline", avatarURL: .mockMXCAvatar)), timelineController: timelineController, @@ -635,7 +635,7 @@ class MockScreen: Identifiable { let appMediator = AppMediatorMock(.init()) appMediator.windowManager = windowManager - let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.largeChunkProxies) + let itemProvider = SignallingTimelineItemProviderMock(itemProxies: TimelineFixtures.largeChunkProxies) let timelineController = makeSignallingTimelineController(itemProvider: itemProvider, roomProxy: JoinedRoomProxyMock(.init())) diff --git a/UnitTests/Sources/TimelineMediaPreviewDataSourceTests.swift b/UnitTests/Sources/TimelineMediaPreviewDataSourceTests.swift index ecf74196a..a12e96f8b 100644 --- a/UnitTests/Sources/TimelineMediaPreviewDataSourceTests.swift +++ b/UnitTests/Sources/TimelineMediaPreviewDataSourceTests.swift @@ -239,7 +239,7 @@ struct TimelineMediaPreviewDataSourceTests { // MARK: Helpers func newChunk() -> [EventBasedMessageTimelineItemProtocol] { - RoomTimelineItemFixtures.mediaChunk + TimelineFixtures.mediaChunk .compactMap { $0 as? EventBasedMessageTimelineItemProtocol } .filter(\.supportsMediaCaption) // Voice messages can't be previewed (and don't support captions). }