Files
element-x-ios/ElementX/Sources/Mocks/UserSessionMock.swift
T
Doug fccad5fc30 Replace AppSettings with UserSettings from the UserSessionFlow and below.
Remove some redundant injections when passed alongside a user session too.

# Conflicts:
#	ElementX/Sources/Screens/PinnedEventsTimelineScreen/View/PinnedEventsTimelineScreen.swift
#	ElementX/Sources/Screens/Timeline/TimelineViewModel.swift
2026-09-28 13:04:37 +03:00

34 lines
1.2 KiB
Swift

//
// Copyright 2025 Element Creations Ltd.
// Copyright 2024-2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
// Please see LICENSE files in the repository root for full details.
//
import Combine
import Foundation
struct UserSessionMockConfiguration {
var clientProxy: ClientProxyProtocol = ClientProxyMock(.init())
var userSettings: UserSettings = .volatile()
var contentScannerService: ContentScannerServiceProtocol?
}
@MainActor extension UserSessionMock {
convenience init(_ configuration: UserSessionMockConfiguration) {
self.init()
clientProxy = configuration.clientProxy
userSettings = configuration.userSettings
mediaProvider = MediaProviderMock(.init())
voiceMessageMediaManager = VoiceMessageMediaManagerMock()
contentScannerService = configuration.contentScannerService
sessionSecurityStatePublisher = CurrentValueSubject<SessionSecurityState, Never>(.init(verificationState: .verified, recoveryState: .enabled)).asCurrentValuePublisher()
liveLocationManager = LiveLocationManagerMock(.init())
}
}