mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Convert the old MockTimelineController to the generated TimelineControllerMock
This commit is contained in:
@@ -35,7 +35,7 @@ final class TimelineViewModelTests {
|
||||
]
|
||||
|
||||
// When showing them in a timeline.
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
// Then the messages should be grouped together.
|
||||
@@ -63,7 +63,7 @@ final class TimelineViewModelTests {
|
||||
]
|
||||
|
||||
// When showing them in a timeline.
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
// Then the messages should be grouped by sender.
|
||||
@@ -89,7 +89,7 @@ final class TimelineViewModelTests {
|
||||
]
|
||||
|
||||
// When showing them in a timeline.
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
// Then the first message should not be grouped but the other two should.
|
||||
@@ -112,7 +112,7 @@ final class TimelineViewModelTests {
|
||||
]
|
||||
|
||||
// When showing them in a timeline.
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
// Then the first and second messages should be grouped and the last one should not.
|
||||
@@ -135,7 +135,7 @@ final class TimelineViewModelTests {
|
||||
]
|
||||
|
||||
// When showing them in a timeline.
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
// Then the messages should be grouped together.
|
||||
@@ -152,10 +152,10 @@ final class TimelineViewModelTests {
|
||||
let items = [TextRoomTimelineItem(eventID: "t1"),
|
||||
TextRoomTimelineItem(eventID: "t2"),
|
||||
TextRoomTimelineItem(eventID: "t3")]
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
#expect(timelineController.focusOnEventCallCount == 0)
|
||||
#expect(timelineController.focusOnEventTimelineSizeCallsCount == 0)
|
||||
#expect(viewModel.context.viewState.timelineState.isLive)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == nil)
|
||||
|
||||
@@ -165,7 +165,7 @@ final class TimelineViewModelTests {
|
||||
try await deferred.fulfill()
|
||||
|
||||
// Then a new timeline should be loaded and the room focussed on that event.
|
||||
#expect(timelineController.focusOnEventCallCount == 1)
|
||||
#expect(timelineController.focusOnEventTimelineSizeCallsCount == 1)
|
||||
#expect(!viewModel.context.viewState.timelineState.isLive)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == .init(eventID: "t4", appearance: .immediate))
|
||||
}
|
||||
@@ -176,10 +176,10 @@ final class TimelineViewModelTests {
|
||||
let items = [TextRoomTimelineItem(eventID: "t1"),
|
||||
TextRoomTimelineItem(eventID: "t2"),
|
||||
TextRoomTimelineItem(eventID: "t3")]
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
#expect(timelineController.focusOnEventCallCount == 0)
|
||||
#expect(timelineController.focusOnEventTimelineSizeCallsCount == 0)
|
||||
#expect(viewModel.context.viewState.timelineState.isLive)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == nil)
|
||||
|
||||
@@ -189,7 +189,7 @@ final class TimelineViewModelTests {
|
||||
try await deferred.fulfill()
|
||||
|
||||
// Then the timeline should remain live and the item should be focussed.
|
||||
#expect(timelineController.focusOnEventCallCount == 0)
|
||||
#expect(timelineController.focusOnEventTimelineSizeCallsCount == 0)
|
||||
#expect(viewModel.context.viewState.timelineState.isLive)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == .init(eventID: "t1", appearance: .animated))
|
||||
}
|
||||
@@ -200,7 +200,7 @@ final class TimelineViewModelTests {
|
||||
let items = [TextRoomTimelineItem(eventID: "t1"),
|
||||
TextRoomTimelineItem(eventID: "t2"),
|
||||
TextRoomTimelineItem(eventID: "t3")]
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
@@ -208,7 +208,7 @@ final class TimelineViewModelTests {
|
||||
await viewModel.focusOnEvent(eventID: "t4")
|
||||
try await deferred.fulfill()
|
||||
|
||||
#expect(timelineController.focusLiveCallCount == 0)
|
||||
#expect(timelineController.focusLiveCallsCount == 0)
|
||||
#expect(!viewModel.context.viewState.timelineState.isLive)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == .init(eventID: "t4", appearance: .immediate))
|
||||
|
||||
@@ -218,14 +218,14 @@ final class TimelineViewModelTests {
|
||||
try await deferred.fulfill()
|
||||
|
||||
// Then the timeline should switch back to being live and the event focus should be removed.
|
||||
#expect(timelineController.focusLiveCallCount == 1)
|
||||
#expect(timelineController.focusLiveCallsCount == 1)
|
||||
#expect(viewModel.context.viewState.timelineState.isLive)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == nil)
|
||||
}
|
||||
|
||||
@Test
|
||||
func initialFocusViewState() {
|
||||
let timelineController = MockTimelineController()
|
||||
let timelineController = TimelineControllerMock(.init())
|
||||
|
||||
let viewModel = makeViewModel(focussedEventID: "t10", timelineController: timelineController)
|
||||
#expect(viewModel.context.viewState.timelineState.focussedEvent == .init(eventID: "t10", appearance: .immediate))
|
||||
@@ -285,14 +285,14 @@ final class TimelineViewModelTests {
|
||||
private func readReceiptsConfiguration(with items: [RoomTimelineItemProtocol]) -> (TimelineViewModel,
|
||||
JoinedRoomProxyMock,
|
||||
TimelineProxyMock,
|
||||
MockTimelineController) {
|
||||
TimelineControllerMock) {
|
||||
let timelineProxy = TimelineProxyMock()
|
||||
timelineProxy.sendReadReceiptForTypeReturnValue = .success(())
|
||||
|
||||
let roomProxy = JoinedRoomProxyMock(.init(name: ""))
|
||||
roomProxy.timeline = timelineProxy
|
||||
|
||||
let timelineController = MockTimelineController(roomProxy: roomProxy, timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(roomProxy: roomProxy, timelineItems: items))
|
||||
|
||||
let appSettings = AppSettings.volatile()
|
||||
|
||||
@@ -323,7 +323,7 @@ final class TimelineViewModelTests {
|
||||
let appSettings = AppSettings.volatile()
|
||||
|
||||
// When showing them in a timeline.
|
||||
let timelineController = MockTimelineController(timelineItems: [message])
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: [message]))
|
||||
let viewModel = TimelineViewModel(roomProxy: JoinedRoomProxyMock(.init(name: "", members: [RoomMemberProxyMock.mockAlice, RoomMemberProxyMock.mockCharlie])),
|
||||
timelineController: timelineController,
|
||||
userSession: UserSessionMock(.init()),
|
||||
@@ -352,7 +352,7 @@ final class TimelineViewModelTests {
|
||||
members: [RoomMemberProxyMock.mockAdmin,
|
||||
RoomMemberProxyMock.mockAlice],
|
||||
ownUserID: RoomMemberProxyMock.mockAdmin.userID)),
|
||||
timelineController: MockTimelineController(),
|
||||
timelineController: TimelineControllerMock(.init()),
|
||||
userSession: UserSessionMock(.init()),
|
||||
mediaPlayerProvider: MediaPlayerProviderMock(),
|
||||
userIndicatorController: UserIndicatorControllerMock(),
|
||||
@@ -391,7 +391,7 @@ final class TimelineViewModelTests {
|
||||
members: [RoomMemberProxyMock.mockAdmin,
|
||||
RoomMemberProxyMock.mockAlice],
|
||||
ownUserID: RoomMemberProxyMock.mockAlice.userID)),
|
||||
timelineController: MockTimelineController(),
|
||||
timelineController: TimelineControllerMock(.init()),
|
||||
userSession: UserSessionMock(.init()),
|
||||
mediaPlayerProvider: MediaPlayerProviderMock(),
|
||||
userIndicatorController: UserIndicatorControllerMock(),
|
||||
@@ -430,7 +430,7 @@ final class TimelineViewModelTests {
|
||||
members: [RoomMemberProxyMock.mockAdmin,
|
||||
RoomMemberProxyMock.mockBanned[0]],
|
||||
ownUserID: RoomMemberProxyMock.mockAdmin.userID)),
|
||||
timelineController: MockTimelineController(),
|
||||
timelineController: TimelineControllerMock(.init()),
|
||||
userSession: UserSessionMock(.init()),
|
||||
mediaPlayerProvider: MediaPlayerProviderMock(),
|
||||
userIndicatorController: UserIndicatorControllerMock(),
|
||||
@@ -475,7 +475,7 @@ final class TimelineViewModelTests {
|
||||
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
|
||||
|
||||
let viewModel = TimelineViewModel(roomProxy: roomProxyMock,
|
||||
timelineController: MockTimelineController(),
|
||||
timelineController: TimelineControllerMock(.init()),
|
||||
userSession: UserSessionMock(.init()),
|
||||
mediaPlayerProvider: MediaPlayerProviderMock(),
|
||||
userIndicatorController: UserIndicatorControllerMock(),
|
||||
@@ -506,7 +506,7 @@ final class TimelineViewModelTests {
|
||||
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
|
||||
|
||||
let viewModel = TimelineViewModel(roomProxy: roomProxyMock,
|
||||
timelineController: MockTimelineController(),
|
||||
timelineController: TimelineControllerMock(.init()),
|
||||
userSession: UserSessionMock(.init()),
|
||||
mediaPlayerProvider: MediaPlayerProviderMock(),
|
||||
userIndicatorController: UserIndicatorControllerMock(),
|
||||
@@ -543,7 +543,7 @@ final class TimelineViewModelTests {
|
||||
func tapSendInfoEncryptionAuthentictyDisplaysAlert() {
|
||||
// Given a room with an event whose authenticity could not be verified
|
||||
let items = [TextRoomTimelineItem(eventID: "t1", encryptionAuthenticity: .verificationViolation(color: .red))]
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
#expect(viewModel.state.bindings.alertInfo == nil)
|
||||
@@ -557,7 +557,7 @@ final class TimelineViewModelTests {
|
||||
func tapSendInfoEncryptionForwarderDisplaysAlert() {
|
||||
// Given a room with an event whose key was forwarded
|
||||
let items = [TextRoomTimelineItem(eventID: "t1", keyForwarder: .test)]
|
||||
let timelineController = MockTimelineController(timelineItems: items)
|
||||
let timelineController = TimelineControllerMock(.init(timelineItems: items))
|
||||
let viewModel = makeViewModel(timelineController: timelineController)
|
||||
|
||||
#expect(viewModel.state.bindings.alertInfo == nil)
|
||||
|
||||
Reference in New Issue
Block a user