Remove all underlyingFoo mock property usage (unnecessary)

This commit is contained in:
Stefan Ceriu
2026-06-02 16:00:56 +03:00
parent dc91a0d5e9
commit a6cad41b12
38 changed files with 95 additions and 95 deletions
+4 -4
View File
@@ -18,13 +18,13 @@ extension AppMediatorMock {
convenience init(_ configuration: Configuration) {
self.init()
underlyingAppState = configuration.appState
requestAuthorizationIfNeededUnderlyingReturnValue = configuration.isCameraAuthorized
underlyingNetworkMonitor = configuration.networkMonitor
appState = configuration.appState
requestAuthorizationIfNeededReturnValue = configuration.isCameraAuthorized
networkMonitor = configuration.networkMonitor
let windowManagerMock = WindowManagerMock()
windowManagerMock.closeAllSecondaryWindowsClosure = { }
windowManagerMock.closeSecondaryWindowForTypeClosure = { _ in }
underlyingWindowManager = windowManagerMock
windowManager = windowManagerMock
}
}
@@ -16,7 +16,7 @@ extension CLLocationManagerMock {
convenience init(_ configuration: Configuration) {
self.init()
underlyingAuthorizationStatus = configuration.authorizationStatus
underlyingAccuracyAuthorization = configuration.accuracyAuthorization
authorizationStatus = configuration.authorizationStatus
accuracyAuthorization = configuration.accuracyAuthorization
}
}
+2 -2
View File
@@ -157,8 +157,8 @@ extension ClientProxyMock {
underlyingIsLiveKitRTCSupported = true
underlyingIsLoginWithQRCodeSupported = true
underlyingTimelineMediaVisibilityPublisher = CurrentValueSubject<TimelineMediaVisibility, Never>(configuration.timelineMediaVisibility).asCurrentValuePublisher()
underlyingHideInviteAvatarsPublisher = CurrentValueSubject<Bool, Never>(configuration.hideInviteAvatars).asCurrentValuePublisher()
timelineMediaVisibilityPublisher = CurrentValueSubject<TimelineMediaVisibility, Never>(configuration.timelineMediaVisibility).asCurrentValuePublisher()
hideInviteAvatarsPublisher = CurrentValueSubject<Bool, Never>(configuration.hideInviteAvatars).asCurrentValuePublisher()
liveLocationOwnInfoUpdatesPublisher = PassthroughSubject<LiveLocationOwnInfoUpdate, Never>().eraseToAnyPublisher()
@@ -17,7 +17,7 @@ extension ElementCallServiceMock {
convenience init(_ configuration: ElementCallServiceMockConfiguration) {
self.init()
underlyingActions = PassthroughSubject().eraseToAnyPublisher()
underlyingOngoingCallRoomIDPublisher = .init(.init(configuration.ongoingCallRoomID))
actions = PassthroughSubject().eraseToAnyPublisher()
ongoingCallRoomIDPublisher = .init(.init(configuration.ongoingCallRoomID))
}
}
@@ -132,14 +132,14 @@ extension JoinedRoomProxyMock {
unbanUserReturnValue = .success(())
let widgetDriver = ElementCallWidgetDriverMock()
widgetDriver.underlyingMessagePublisher = .init()
widgetDriver.underlyingActions = PassthroughSubject().eraseToAnyPublisher()
widgetDriver.messagePublisher = .init()
widgetDriver.actions = PassthroughSubject().eraseToAnyPublisher()
guard let url = URL(string: "https://call.element.io/\(UUID().uuidString)#?appPrompt=false") else {
fatalError()
}
widgetDriver.startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue = .success(url)
widgetDriver.startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReturnValue = .success(url)
elementCallWidgetDriverDeviceIDReturnValue = widgetDriver
@@ -19,11 +19,11 @@ extension LiveLocationManagerMock {
self.init()
let authorizationStatusSubject = CurrentValueSubject<CLAuthorizationStatus, Never>(configuration.authorizationStatus)
underlyingAuthorizationStatus = .init(authorizationStatusSubject)
authorizationStatus = .init(authorizationStatusSubject)
requestAlwaysAuthorizationIfPossibleReturnValue = configuration.requestAlwaysAuthorizationIfPossibleReturnValue
startLiveLocationRoomIDDurationReturnValue = .success(())
underlyingHasDisplayedLiveLocationDisclaimer = configuration.hasDisplayedLiveLocationDisclaimer
hasDisplayedLiveLocationDisclaimer = configuration.hasDisplayedLiveLocationDisclaimer
}
}
@@ -19,6 +19,6 @@ extension NSEUserSessionMock {
underlyingInviteAvatarsVisibility = configuration.inviteAvatarsVisibility
underlyingMediaPreviewVisibility = configuration.mediaPreviewVisibility
underlyingThreadsEnabled = configuration.threadsEnabled
threadsEnabled = configuration.threadsEnabled
}
}
@@ -17,6 +17,6 @@ extension NetworkMonitorMock {
convenience init(_ configuration: Configuration) {
self.init()
underlyingReachabilityPublisher = configuration.reachabilityPublisher
reachabilityPublisher = configuration.reachabilityPublisher
}
}
@@ -16,7 +16,7 @@ struct NotificationItemProxyMockConfiguration {
let messageType = MessageType.text(content: TextMessageContent(body: "Hello world!", formatted: nil))
let messageLikeContent = MessageLikeEventContent.roomMessage(messageType: messageType, inReplyToEventId: nil)
let event = TimelineEventSDKMock()
event.eventIdUnderlyingReturnValue = UUID().uuidString
event.eventIdReturnValue = UUID().uuidString
event.contentReturnValue = .messageLike(content: messageLikeContent)
return .timeline(event: event)
}()
@@ -40,18 +40,18 @@ extension NotificationItemProxyMock {
convenience init(_ configuration: NotificationItemProxyMockConfiguration) {
self.init()
event = configuration.event
underlyingSenderID = configuration.senderID
underlyingRoomID = configuration.roomID
underlyingReceiverID = configuration.receiverID
senderID = configuration.senderID
roomID = configuration.roomID
receiverID = configuration.receiverID
senderDisplayName = configuration.senderDisplayName
roomAvatarMediaSource = configuration.roomAvatarMediaSource
underlyingRoomDisplayName = configuration.roomDisplayName
underlyingRoomJoinedMembers = configuration.roomJoinedMembers
underlyingIsRoomDirect = configuration.isRoomDirect
underlyingIsRoomPrivate = configuration.isRoomPrivate
underlyingIsNoisy = configuration.isNoisy
underlyingHasMention = configuration.hasMention
roomDisplayName = configuration.roomDisplayName
roomJoinedMembers = configuration.roomJoinedMembers
isRoomDirect = configuration.isRoomDirect
isRoomPrivate = configuration.isRoomPrivate
isNoisy = configuration.isNoisy
hasMention = configuration.hasMention
threadRootEventID = configuration.threadRootEventID
underlyingIsDM = configuration.isRoomDirect && configuration.roomJoinedMembers <= 2
isDM = configuration.isRoomDirect && configuration.roomJoinedMembers <= 2
}
}
@@ -26,7 +26,7 @@ extension RoomPowerLevelsProxyMock {
convenience init(_ configuration: Configuration) {
self.init()
underlyingValues = RoomPowerLevelsValues.mock
values = RoomPowerLevelsValues.mock
canOwnUserSendMessageReturnValue = configuration.canUserSendMessage
canOwnUserSendStateEventReturnValue = configuration.canUserSendState
@@ -70,19 +70,19 @@ extension RoomPreviewProxyMock {
convenience init(_ configuration: RoomPreviewProxyMock.Configuration) {
self.init()
underlyingInfo = .init(roomPreviewInfo: .init(roomId: configuration.roomID,
canonicalAlias: configuration.canonicalAlias,
name: configuration.name,
topic: configuration.topic,
avatarUrl: configuration.avatarURL,
numJoinedMembers: configuration.numJoinedMembers,
numActiveMembers: configuration.numActiveMembers,
roomType: configuration.roomType,
isHistoryWorldReadable: nil,
membership: configuration.membership,
joinRule: configuration.joinRule.rustValue,
isDirect: configuration.isDirect,
heroes: nil))
info = .init(roomPreviewInfo: .init(roomId: configuration.roomID,
canonicalAlias: configuration.canonicalAlias,
name: configuration.name,
topic: configuration.topic,
avatarUrl: configuration.avatarURL,
numJoinedMembers: configuration.numJoinedMembers,
numActiveMembers: configuration.numActiveMembers,
roomType: configuration.roomType,
isHistoryWorldReadable: nil,
membership: configuration.membership,
joinRule: configuration.joinRule.rustValue,
isDirect: configuration.isDirect,
heroes: nil))
let roomMembershipDetails = RoomMembershipDetailsProxyMock()
@@ -19,10 +19,10 @@ extension SecureBackupControllerMock {
self.init()
let recoveryStateSubject = CurrentValueSubject<SecureBackupRecoveryState, Never>(configuration.recoveryState)
underlyingRecoveryState = .init(recoveryStateSubject)
recoveryState = .init(recoveryStateSubject)
let keyBackupStateSubject = CurrentValueSubject<SecureBackupKeyBackupState, Never>(configuration.keyBackupState)
underlyingKeyBackupState = .init(keyBackupStateSubject)
keyBackupState = .init(keyBackupStateSubject)
disableClosure = {
recoveryStateSubject.send(.disabled)
@@ -22,7 +22,7 @@ extension SessionVerificationControllerProxyMock {
otherDeviceStartsSasVerification: Bool = false,
requestDelay: Duration = .seconds(1)) -> SessionVerificationControllerProxyMock {
let mock = SessionVerificationControllerProxyMock()
mock.underlyingActions = actions
mock.actions = actions
mock.acknowledgeVerificationRequestDetailsReturnValue = .success(())
@@ -34,10 +34,10 @@ class SignallingTimelineItemProviderMock: TimelineItemProviderMock {
self.itemProxies = itemProxies
underlyingPaginationState = paginationState
underlyingKind = .live
underlyingUpdatePublisher = stateSubject.eraseToAnyPublisher()
underlyingMembershipChangePublisher = Empty().eraseToAnyPublisher()
self.paginationState = paginationState
kind = .live
updatePublisher = stateSubject.eraseToAnyPublisher()
membershipChangePublisher = Empty().eraseToAnyPublisher()
guard listenForSignals else { return }
@@ -102,7 +102,7 @@ class SignallingTimelineItemProviderMock: TimelineItemProviderMock {
guard !backPaginationResponses.isEmpty else {
let newState = TimelinePaginationState(backward: .endReached, forward: .endReached)
underlyingPaginationState = newState
paginationState = newState
stateSubject.send((items, newState))
return
}
@@ -111,7 +111,7 @@ class SignallingTimelineItemProviderMock: TimelineItemProviderMock {
let newPaginationState = TimelinePaginationState(backward: backPaginationResponses.isEmpty ? .endReached : .idle,
forward: .endReached)
itemProxies = newItems + items
underlyingPaginationState = newPaginationState
paginationState = newPaginationState
stateSubject.send((newItems + items, newPaginationState))
try client?.send(.success)
}
@@ -43,10 +43,10 @@ extension TimelineControllerMock {
let timelineProxy = configuration.timelineProxy
let timelineItemsTimestamps = configuration.timelineItemsTimestamps
underlyingCallbacks = PassthroughSubject()
underlyingRoomID = roomProxy?.id ?? "MockRoomIdentifier"
underlyingTimelineKind = configuration.timelineKind
underlyingPaginationState = configuration.paginationState
callbacks = PassthroughSubject()
roomID = roomProxy?.id ?? "MockRoomIdentifier"
timelineKind = configuration.timelineKind
paginationState = configuration.paginationState
timelineItems = configuration.timelineItems
callbacks.send(.paginationState(configuration.paginationState))
@@ -32,14 +32,14 @@ extension TimelineProxyMock {
editPollOriginalQuestionAnswersPollKindReturnValue = .success(())
if let provider = configuration.timelineItemProvider {
underlyingTimelineItemProvider = provider
timelineItemProvider = provider
} else if configuration.isAutoUpdating {
underlyingTimelineItemProvider = AutoUpdatingTimelineItemProviderMock()
timelineItemProvider = AutoUpdatingTimelineItemProviderMock()
} else {
let timelineItemProvider = TimelineItemProviderMock()
timelineItemProvider.paginationState = .init(backward: configuration.timelineStartReached ? .endReached : .idle, forward: .endReached)
timelineItemProvider.underlyingMembershipChangePublisher = PassthroughSubject().eraseToAnyPublisher()
underlyingTimelineItemProvider = timelineItemProvider
let provider = TimelineItemProviderMock()
provider.paginationState = .init(backward: configuration.timelineStartReached ? .endReached : .idle, forward: .endReached)
provider.membershipChangePublisher = PassthroughSubject().eraseToAnyPublisher()
timelineItemProvider = provider
}
}
}
@@ -14,6 +14,6 @@ extension UserIdentityProxyMock {
convenience init(_ configuration: Configuration) {
self.init()
underlyingVerificationState = configuration.verificationState
verificationState = configuration.verificationState
}
}
@@ -358,8 +358,8 @@ struct CallScreen_Previews: PreviewProvider {
let roomProxy = JoinedRoomProxyMock()
let widgetDriver = ElementCallWidgetDriverMock()
widgetDriver.underlyingMessagePublisher = .init()
widgetDriver.underlyingActions = PassthroughSubject<ElementCallWidgetDriverAction, Never>().eraseToAnyPublisher()
widgetDriver.messagePublisher = .init()
widgetDriver.actions = PassthroughSubject<ElementCallWidgetDriverAction, Never>().eraseToAnyPublisher()
widgetDriver.startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReturnValue = .success(URL.userDirectory)
roomProxy.elementCallWidgetDriverDeviceIDReturnValue = widgetDriver
@@ -98,7 +98,7 @@ struct SecureBackupKeyBackupScreen_Previews: PreviewProvider, TestablePreview {
static func viewModel(keyBackupState: SecureBackupKeyBackupState) -> SecureBackupKeyBackupScreenViewModelType {
let backupController = SecureBackupControllerMock()
backupController.underlyingKeyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(keyBackupState).asCurrentValuePublisher()
backupController.keyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(keyBackupState).asCurrentValuePublisher()
return SecureBackupKeyBackupScreenViewModel(secureBackupController: backupController,
userIndicatorController: nil)
@@ -150,7 +150,7 @@ struct SecureBackupLogoutConfirmationScreen_Previews: PreviewProvider, TestableP
static func makeViewModel(mode: SecureBackupLogoutConfirmationScreenViewMode) -> SecureBackupLogoutConfirmationScreenViewModel {
let secureBackupController = SecureBackupControllerMock()
secureBackupController.underlyingKeyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(.enabled).asCurrentValuePublisher()
secureBackupController.keyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(.enabled).asCurrentValuePublisher()
secureBackupController.waitForKeyBackupUploadUploadStateSubjectClosure = { uploadStateSubject in
if case .backupOngoing = mode {
@@ -275,7 +275,7 @@ struct SecureBackupRecoveryKeyScreen_Previews: PreviewProvider, TestablePreview
static func viewModel(recoveryState: SecureBackupRecoveryState, generateKey: Bool = false, key: String? = nil) -> SecureBackupRecoveryKeyScreenViewModelType {
let backupController = SecureBackupControllerMock()
backupController.underlyingRecoveryState = CurrentValueSubject<SecureBackupRecoveryState, Never>(recoveryState).asCurrentValuePublisher()
backupController.recoveryState = CurrentValueSubject<SecureBackupRecoveryState, Never>(recoveryState).asCurrentValuePublisher()
if let key {
backupController.generateRecoveryKeyReturnValue = .success(key)
@@ -151,8 +151,8 @@ struct SecureBackupScreen_Previews: PreviewProvider, TestablePreview {
static func viewModel(keyBackupState: SecureBackupKeyBackupState,
recoveryState: SecureBackupRecoveryState) -> SecureBackupScreenViewModelType {
let backupController = SecureBackupControllerMock()
backupController.underlyingKeyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(keyBackupState).asCurrentValuePublisher()
backupController.underlyingRecoveryState = CurrentValueSubject<SecureBackupRecoveryState, Never>(recoveryState).asCurrentValuePublisher()
backupController.keyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(keyBackupState).asCurrentValuePublisher()
backupController.recoveryState = CurrentValueSubject<SecureBackupRecoveryState, Never>(recoveryState).asCurrentValuePublisher()
return SecureBackupScreenViewModel(secureBackupController: backupController,
userIndicatorController: UserIndicatorControllerMock(),
@@ -88,8 +88,8 @@ extension AppLockServiceMock {
mock.isEnabled = pinCode != nil
mock.isMandatory = isMandatory
mock.numberOfPINAttempts = CurrentValueSubject<Int, Never>(numberOfPINAttempts).eraseToAnyPublisher()
mock.underlyingBiometryType = biometryType
mock.underlyingBiometricUnlockEnabled = biometryType != .none
mock.biometryType = biometryType
mock.biometricUnlockEnabled = biometryType != .none
mock.unlockWithClosure = { $0 == pinCode }
return mock
}
@@ -632,7 +632,7 @@ class MockScreen: Identifiable {
clientProxy.spaceService = spaceServiceProxy
let appMediator = AppMediatorMock(.init())
appMediator.underlyingWindowManager = windowManager
appMediator.windowManager = windowManager
let itemProvider = SignallingTimelineItemProviderMock(itemProxies: RoomTimelineItemFixtures.largeChunkProxies)
@@ -20,8 +20,8 @@ final class AppLockSetupBiometricsScreenViewModelTests {
init() {
appLockService = AppLockServiceMock()
appLockService.underlyingIsEnabled = true
appLockService.underlyingBiometryType = .touchID
appLockService.isEnabled = true
appLockService.biometryType = .touchID
appLockService.enableBiometricUnlockReturnValue = .success(())
viewModel = AppLockSetupBiometricsScreenViewModel(appLockService: appLockService)
}
@@ -26,7 +26,7 @@ struct AudioPlayerStateTests {
private func buildAudioPlayerMock() -> AudioPlayerMock {
let audioPlayerMock = AudioPlayerMock()
audioPlayerMock.underlyingActions = audioPlayerActions
audioPlayerMock.actions = audioPlayerActions
audioPlayerMock.state = .stopped
audioPlayerMock.currentTime = 0.0
audioPlayerMock.duration = 0.0
@@ -24,7 +24,7 @@ struct AudioRecorderStateTests {
private func buildAudioRecorderMock() -> AudioRecorderMock {
let audioRecorderMock = AudioRecorderMock()
audioRecorderMock.isRecording = false
audioRecorderMock.underlyingActions = audioRecorderActions
audioRecorderMock.actions = audioRecorderActions
audioRecorderMock.currentTime = 0.0
audioRecorderMock.averagePowerReturnValue = 0
return audioRecorderMock
@@ -20,7 +20,7 @@ final class BugReportServiceTests {
appSettings.bugReportRageshakeURL.reset()
let bugReportServiceMock = BugReportServiceMock()
bugReportServiceMock.underlyingCrashedLastRun = false
bugReportServiceMock.crashedLastRun = false
bugReportServiceMock.submitBugReportProgressListenerReturnValue = .success(SubmitBugReportResponse(reportURL: "https://www.example.com/123"))
bugReportService = bugReportServiceMock
}
@@ -700,7 +700,7 @@ final class ComposerToolbarViewModelTests {
}
let mockSubject = CurrentValueSubject<[IdentityStatusChange], Never>([])
roomProxyMock.underlyingIdentityStatusChangesPublisher = mockSubject.asCurrentValuePublisher()
roomProxyMock.identityStatusChangesPublisher = mockSubject.asCurrentValuePublisher()
let appSettings = AppSettings.volatile()
@@ -747,7 +747,7 @@ final class ComposerToolbarViewModelTests {
IdentityStatusChange(userId: "@bob:localhost", changedTo: .verificationViolation)
])
roomProxyMock.underlyingIdentityStatusChangesPublisher = mockSubject.asCurrentValuePublisher()
roomProxyMock.identityStatusChangesPublisher = mockSubject.asCurrentValuePublisher()
let appSettings = AppSettings.volatile()
@@ -784,7 +784,7 @@ final class ComposerToolbarViewModelTests {
.success(roomMemberProxyMock)
}
roomProxyMock.underlyingIdentityStatusChangesPublisher = CurrentValueSubject([IdentityStatusChange(userId: "@alice:localhost", changedTo: .pinViolation)]).asCurrentValuePublisher()
roomProxyMock.identityStatusChangesPublisher = CurrentValueSubject([IdentityStatusChange(userId: "@alice:localhost", changedTo: .pinViolation)]).asCurrentValuePublisher()
let appSettings = AppSettings.volatile()
viewModel = ComposerToolbarViewModel(roomProxy: roomProxyMock,
@@ -420,7 +420,7 @@ final class HomeScreenViewModelTests {
spaceServiceProxy.spaceRoomListSpaceIDClosure = { spaceID in
.success(SpaceRoomListProxyMock(.init(spaceServiceRoom: SpaceServiceRoom.mock(id: spaceID, isSpace: true))))
}
clientProxy.underlyingSpaceService = spaceServiceProxy
clientProxy.spaceService = spaceServiceProxy
case nil:
break
}
@@ -179,7 +179,7 @@ final class JoinRoomScreenViewModelTests {
clientProxy.roomForIdentifierClosure = { _ in
let roomProxy = KnockedRoomProxyMock(.init())
// to test the cancel knock function
roomProxy.cancelKnockUnderlyingReturnValue = .success(())
roomProxy.cancelKnockReturnValue = .success(())
return .knocked(roomProxy)
}
case .joined:
@@ -219,7 +219,7 @@ struct LocationSharingScreenViewModelTests {
mutating func startLiveLocationWithNotDeterminedAuthorizationTransitionsToWhenInUse() async {
let authorizationStatusSubject = CurrentValueSubject<CLAuthorizationStatus, Never>(.notDetermined)
let liveLocationManagerMock = LiveLocationManagerMock()
liveLocationManagerMock.underlyingAuthorizationStatus = .init(authorizationStatusSubject)
liveLocationManagerMock.authorizationStatus = .init(authorizationStatusSubject)
liveLocationManagerMock.requestAlwaysAuthorizationIfPossibleReturnValue = true
setupViewModel(liveLocationManagerMock: liveLocationManagerMock)
@@ -790,7 +790,7 @@ struct RoomDetailsScreenViewModelTests {
let configuration = JoinedRoomProxyMockConfiguration(historyVisibility: .shared)
let infoSubject = CurrentValueSubject<RoomInfoProxyProtocol, Never>(RoomInfoProxyMock(configuration))
let roomProxyMock = JoinedRoomProxyMock(configuration)
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
roomProxyMock.infoPublisher = infoSubject.asCurrentValuePublisher()
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
userSession: UserSessionMock(.init()),
@@ -38,7 +38,7 @@ final class RoomScreenViewModelTests {
return .success(timeline)
}
// setup the room proxy actions publisher
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
roomProxyMock.infoPublisher = infoSubject.asCurrentValuePublisher()
let viewModel = RoomScreenViewModel(userSession: UserSessionMock(.init()),
roomProxy: roomProxyMock,
initialSelectedPinnedEventID: nil,
@@ -72,7 +72,7 @@ final class RoomScreenViewModelTests {
let pinnedTimelineMock = TimelineProxyMock()
let pinnedTimelineItemProviderMock = TimelineItemProviderMock()
let providerUpdateSubject = PassthroughSubject<([TimelineItemProxy], TimelinePaginationState), Never>()
pinnedTimelineItemProviderMock.underlyingUpdatePublisher = providerUpdateSubject.eraseToAnyPublisher()
pinnedTimelineItemProviderMock.updatePublisher = providerUpdateSubject.eraseToAnyPublisher()
pinnedTimelineMock.timelineItemProvider = pinnedTimelineItemProviderMock
pinnedTimelineItemProviderMock.itemProxies = [.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test1")), uniqueID: .init("1"))),
.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test2")), uniqueID: .init("2")))]
@@ -115,7 +115,7 @@ final class RoomScreenViewModelTests {
let pinnedTimelineMock = TimelineProxyMock()
let pinnedTimelineItemProviderMock = TimelineItemProviderMock()
pinnedTimelineMock.timelineItemProvider = pinnedTimelineItemProviderMock
pinnedTimelineItemProviderMock.underlyingUpdatePublisher = Empty<([TimelineItemProxy], TimelinePaginationState), Never>().eraseToAnyPublisher()
pinnedTimelineItemProviderMock.updatePublisher = Empty<([TimelineItemProxy], TimelinePaginationState), Never>().eraseToAnyPublisher()
pinnedTimelineItemProviderMock.itemProxies = [.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test1")), uniqueID: .init("1"))),
.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test2")), uniqueID: .init("2"))),
.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test3")), uniqueID: .init("3")))]
@@ -175,7 +175,7 @@ final class RoomScreenViewModelTests {
let pinnedTimelineMock = TimelineProxyMock()
let pinnedTimelineItemProviderMock = TimelineItemProviderMock()
pinnedTimelineMock.timelineItemProvider = pinnedTimelineItemProviderMock
pinnedTimelineItemProviderMock.underlyingUpdatePublisher = Empty<([TimelineItemProxy], TimelinePaginationState), Never>().eraseToAnyPublisher()
pinnedTimelineItemProviderMock.updatePublisher = Empty<([TimelineItemProxy], TimelinePaginationState), Never>().eraseToAnyPublisher()
pinnedTimelineItemProviderMock.itemProxies = [.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test1")), uniqueID: .init("1"))),
.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test2")), uniqueID: .init("2"))),
.event(.init(item: EventTimelineItem(configuration: .init(eventID: "test3")), uniqueID: .init("3")))]
@@ -238,7 +238,7 @@ final class RoomScreenViewModelTests {
roomInfoProxyMock.powerLevels = powerLevelsMock
let infoSubject = CurrentValueSubject<RoomInfoProxyProtocol, Never>(roomInfoProxyMock)
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
roomProxyMock.infoPublisher = infoSubject.asCurrentValuePublisher()
let viewModel = RoomScreenViewModel(userSession: UserSessionMock(.init()),
roomProxy: roomProxyMock,
@@ -452,7 +452,7 @@ final class RoomScreenViewModelTests {
let roomProxyMock = JoinedRoomProxyMock(configuration)
// setup the room proxy actions publisher
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
roomProxyMock.infoPublisher = infoSubject.asCurrentValuePublisher()
let viewModel = RoomScreenViewModel(userSession: UserSessionMock(.init()),
roomProxy: roomProxyMock,
initialSelectedPinnedEventID: nil,
@@ -22,7 +22,7 @@ struct SecureBackupLogoutConfirmationScreenViewModelTests {
init() {
secureBackupController = SecureBackupControllerMock()
secureBackupController.underlyingKeyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(.enabled).asCurrentValuePublisher()
secureBackupController.keyBackupState = CurrentValueSubject<SecureBackupKeyBackupState, Never>(.enabled).asCurrentValuePublisher()
reachabilitySubject = CurrentValueSubject<NetworkMonitorReachability, Never>(.reachable)
@@ -26,7 +26,7 @@ struct SpaceAddRoomsScreenViewModelTests {
let clientProxy = ClientProxyMock(.init())
clientProxy.recentlyVisitedRoomsFilterReturnValue = .init(repeating: JoinedRoomProxyMock(.init()), count: 5)
spaceServiceProxy = clientProxy.underlyingSpaceService as? SpaceServiceProxyMock ?? SpaceServiceProxyMock(.init())
spaceServiceProxy = clientProxy.spaceService as? SpaceServiceProxyMock ?? SpaceServiceProxyMock(.init())
viewModel = SpaceAddRoomsScreenViewModel(spaceRoomListProxy: spaceRoomListProxy,
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
@@ -472,7 +472,7 @@ final class TimelineViewModelTests {
pinnedEventIDs: .init(["test1"]))
let roomProxyMock = JoinedRoomProxyMock(configuration)
let infoSubject = CurrentValueSubject<RoomInfoProxyProtocol, Never>(RoomInfoProxyMock(configuration))
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
roomProxyMock.infoPublisher = infoSubject.asCurrentValuePublisher()
let viewModel = TimelineViewModel(roomProxy: roomProxyMock,
timelineController: TimelineControllerMock(.init()),
@@ -503,7 +503,7 @@ final class TimelineViewModelTests {
powerLevelsConfiguration: .init(canUserPin: true))
let roomProxyMock = JoinedRoomProxyMock(configuration)
let infoSubject = CurrentValueSubject<RoomInfoProxyProtocol, Never>(RoomInfoProxyMock(configuration))
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()
roomProxyMock.infoPublisher = infoSubject.asCurrentValuePublisher()
let viewModel = TimelineViewModel(roomProxy: roomProxyMock,
timelineController: TimelineControllerMock(.init()),
@@ -35,7 +35,7 @@ struct VoiceMessageRecorderTests {
init() async throws {
audioRecorder = AudioRecorderMock()
audioRecorder.underlyingCurrentTime = 0
audioRecorder.currentTime = 0
audioRecorder.averagePowerReturnValue = 0
audioRecorder.actions = audioRecorderActions