mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Replace the old MockUserSession with the generated UserSessionMock
This commit is contained in:
committed by
Stefan Ceriu
parent
a126715ba0
commit
3a904ebc9d
@@ -96,9 +96,9 @@ extension ClientProxyMock {
|
||||
|
||||
switch room {
|
||||
case .empty:
|
||||
return await RoomProxyMock(with: .init(name: "Empty room"))
|
||||
return await RoomProxyMock(.init(name: "Empty room"))
|
||||
case .filled(let details), .invalidated(let details):
|
||||
return await RoomProxyMock(with: .init(id: roomID, name: details.name))
|
||||
return await RoomProxyMock(.init(id: roomID, name: details.name))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13079,6 +13079,34 @@ class UserNotificationCenterMock: UserNotificationCenterProtocol {
|
||||
}
|
||||
}
|
||||
}
|
||||
class UserSessionMock: UserSessionProtocol {
|
||||
var clientProxy: ClientProxyProtocol {
|
||||
get { return underlyingClientProxy }
|
||||
set(value) { underlyingClientProxy = value }
|
||||
}
|
||||
var underlyingClientProxy: ClientProxyProtocol!
|
||||
var mediaProvider: MediaProviderProtocol {
|
||||
get { return underlyingMediaProvider }
|
||||
set(value) { underlyingMediaProvider = value }
|
||||
}
|
||||
var underlyingMediaProvider: MediaProviderProtocol!
|
||||
var voiceMessageMediaManager: VoiceMessageMediaManagerProtocol {
|
||||
get { return underlyingVoiceMessageMediaManager }
|
||||
set(value) { underlyingVoiceMessageMediaManager = value }
|
||||
}
|
||||
var underlyingVoiceMessageMediaManager: VoiceMessageMediaManagerProtocol!
|
||||
var sessionSecurityStatePublisher: CurrentValuePublisher<SessionSecurityState, Never> {
|
||||
get { return underlyingSessionSecurityStatePublisher }
|
||||
set(value) { underlyingSessionSecurityStatePublisher = value }
|
||||
}
|
||||
var underlyingSessionSecurityStatePublisher: CurrentValuePublisher<SessionSecurityState, Never>!
|
||||
var callbacks: PassthroughSubject<UserSessionCallback, Never> {
|
||||
get { return underlyingCallbacks }
|
||||
set(value) { underlyingCallbacks = value }
|
||||
}
|
||||
var underlyingCallbacks: PassthroughSubject<UserSessionCallback, Never>!
|
||||
|
||||
}
|
||||
class VoiceMessageCacheMock: VoiceMessageCacheProtocol {
|
||||
var urlForRecording: URL {
|
||||
get { return underlyingUrlForRecording }
|
||||
|
||||
@@ -58,7 +58,7 @@ enum RoomProxyMockError: Error {
|
||||
|
||||
extension RoomProxyMock {
|
||||
@MainActor
|
||||
convenience init(with configuration: RoomProxyMockConfiguration) {
|
||||
convenience init(_ configuration: RoomProxyMockConfiguration) {
|
||||
self.init()
|
||||
|
||||
id = configuration.id
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// Copyright 2024 New Vector Ltd
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import Combine
|
||||
import Foundation
|
||||
|
||||
struct UserSessionMockConfiguration {
|
||||
var sessionVerificationController: SessionVerificationControllerProxyProtocol?
|
||||
let clientProxy: ClientProxyProtocol
|
||||
}
|
||||
|
||||
extension UserSessionMock {
|
||||
convenience init(_ configuration: UserSessionMockConfiguration) {
|
||||
self.init()
|
||||
|
||||
clientProxy = configuration.clientProxy
|
||||
userID = clientProxy.userID
|
||||
deviceID = clientProxy.deviceID
|
||||
homeserver = clientProxy.homeserver
|
||||
|
||||
mediaProvider = MockMediaProvider()
|
||||
voiceMessageMediaManager = VoiceMessageMediaManagerMock()
|
||||
|
||||
sessionSecurityStatePublisher = CurrentValueSubject<SessionSecurityState, Never>(.init(verificationState: .verified, recoveryState: .enabled)).asCurrentValuePublisher()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user