Tidy up mock creation. (#5627)

* Use our standard XYZMock(.init()) pattern everywhere instead of XYZMock.default.

* Remove the configuration parameter label on mock convenience inits.

* Update the enterprise submodule.
This commit is contained in:
Doug
2026-05-22 17:34:35 +01:00
committed by GitHub
parent edd7130a97
commit 08d02001bf
146 changed files with 540 additions and 546 deletions
-4
View File
@@ -319,7 +319,6 @@
340D39DB87F3800D53A6A621 /* EmojiPickerScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00245D40CD90FD71D6A05239 /* EmojiPickerScreen.swift */; }; 340D39DB87F3800D53A6A621 /* EmojiPickerScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00245D40CD90FD71D6A05239 /* EmojiPickerScreen.swift */; };
34357B287357BC0B9715DD51 /* UserAgentBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F2529D434C750ED78ADF1ED /* UserAgentBuilder.swift */; }; 34357B287357BC0B9715DD51 /* UserAgentBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F2529D434C750ED78ADF1ED /* UserAgentBuilder.swift */; };
34390DAE0C574DAD30CCA7D9 /* DeclineAndBlockScreenViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF12A50186B75C68017B61 /* DeclineAndBlockScreenViewModelTests.swift */; }; 34390DAE0C574DAD30CCA7D9 /* DeclineAndBlockScreenViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADF12A50186B75C68017B61 /* DeclineAndBlockScreenViewModelTests.swift */; };
3467FEE8210D301FF1B77001 /* UserIndicatorControllerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7893780A1FD6E3F38B3E9049 /* UserIndicatorControllerMock.swift */; };
34ADC506C929D10B138EBA51 /* AdvancedSettingsScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42C58159916ABD7F454CE689 /* AdvancedSettingsScreenCoordinator.swift */; }; 34ADC506C929D10B138EBA51 /* AdvancedSettingsScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42C58159916ABD7F454CE689 /* AdvancedSettingsScreenCoordinator.swift */; };
34C752A73717C691582DC6C7 /* UnsupportedRoomTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1B8500C152BC59445647DA8 /* UnsupportedRoomTimelineItem.swift */; }; 34C752A73717C691582DC6C7 /* UnsupportedRoomTimelineItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1B8500C152BC59445647DA8 /* UnsupportedRoomTimelineItem.swift */; };
34F1261CEF6D6A00D559B520 /* SettingsScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFD5EB0B0EEA4549FB49784 /* SettingsScreen.swift */; }; 34F1261CEF6D6A00D559B520 /* SettingsScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFD5EB0B0EEA4549FB49784 /* SettingsScreen.swift */; };
@@ -2309,7 +2308,6 @@
787E84119E626E2F0E0BFBE8 /* ManageRoomMemberSheetModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManageRoomMemberSheetModels.swift; sourceTree = "<group>"; }; 787E84119E626E2F0E0BFBE8 /* ManageRoomMemberSheetModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManageRoomMemberSheetModels.swift; sourceTree = "<group>"; };
78910787F967CBC6042A101E /* StartChatScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartChatScreenViewModelProtocol.swift; sourceTree = "<group>"; }; 78910787F967CBC6042A101E /* StartChatScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartChatScreenViewModelProtocol.swift; sourceTree = "<group>"; };
78913D6E120D46138E97C107 /* NavigationSplitCoordinatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationSplitCoordinatorTests.swift; sourceTree = "<group>"; }; 78913D6E120D46138E97C107 /* NavigationSplitCoordinatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationSplitCoordinatorTests.swift; sourceTree = "<group>"; };
7893780A1FD6E3F38B3E9049 /* UserIndicatorControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserIndicatorControllerMock.swift; sourceTree = "<group>"; };
78BBDF7A05CF53B5CDC13682 /* landscape_test_video.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = landscape_test_video.mov; sourceTree = "<group>"; }; 78BBDF7A05CF53B5CDC13682 /* landscape_test_video.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = landscape_test_video.mov; sourceTree = "<group>"; };
796CBD0C56FA0D3AEDAB255B /* SessionVerificationScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionVerificationScreenCoordinator.swift; sourceTree = "<group>"; }; 796CBD0C56FA0D3AEDAB255B /* SessionVerificationScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionVerificationScreenCoordinator.swift; sourceTree = "<group>"; };
79A106D76741914F82664959 /* StateStoreViewModelV2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateStoreViewModelV2.swift; sourceTree = "<group>"; }; 79A106D76741914F82664959 /* StateStoreViewModelV2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateStoreViewModelV2.swift; sourceTree = "<group>"; };
@@ -3839,7 +3837,6 @@
62EACAFB3F3E017060F9F1C5 /* TimelineProviderMock.swift */, 62EACAFB3F3E017060F9F1C5 /* TimelineProviderMock.swift */,
17A8AA0DFA06012A9DAB951E /* TimelineProxyMock.swift */, 17A8AA0DFA06012A9DAB951E /* TimelineProxyMock.swift */,
8536B40F578BA7FDB23D97B1 /* UserIdentityProxyMock.swift */, 8536B40F578BA7FDB23D97B1 /* UserIdentityProxyMock.swift */,
7893780A1FD6E3F38B3E9049 /* UserIndicatorControllerMock.swift */,
AAD01F7FC2BBAC7351948595 /* UserProfile+Mock.swift */, AAD01F7FC2BBAC7351948595 /* UserProfile+Mock.swift */,
F4469F6AE311BDC439B3A5EC /* UserSessionMock.swift */, F4469F6AE311BDC439B3A5EC /* UserSessionMock.swift */,
9EB9BA2F30EB8C33226D8FF1 /* UserSessionStoreMock.swift */, 9EB9BA2F30EB8C33226D8FF1 /* UserSessionStoreMock.swift */,
@@ -9145,7 +9142,6 @@
4E9782D683660463804C2DC3 /* UserIdentityProxyProtocol.swift in Sources */, 4E9782D683660463804C2DC3 /* UserIdentityProxyProtocol.swift in Sources */,
988BA75A182738150894A23F /* UserIndicator.swift in Sources */, 988BA75A182738150894A23F /* UserIndicator.swift in Sources */,
C4E0D03DF88242697545A9B7 /* UserIndicatorController.swift in Sources */, C4E0D03DF88242697545A9B7 /* UserIndicatorController.swift in Sources */,
3467FEE8210D301FF1B77001 /* UserIndicatorControllerMock.swift in Sources */,
E3E1E255DC8CB34BD8573E0D /* UserIndicatorControllerProtocol.swift in Sources */, E3E1E255DC8CB34BD8573E0D /* UserIndicatorControllerProtocol.swift in Sources */,
A14A9419105A1CD42F0511C4 /* UserIndicatorModalView.swift in Sources */, A14A9419105A1CD42F0511C4 /* UserIndicatorModalView.swift in Sources */,
9E838A62918E47BC72D6640D /* UserIndicatorPresenter.swift in Sources */, 9E838A62918E47BC72D6640D /* UserIndicatorPresenter.swift in Sources */,
@@ -6,11 +6,17 @@
// //
extension AnalyticsServiceMock { extension AnalyticsServiceMock {
static var `default`: AnalyticsServiceMock { struct Configuration {
let mock = AnalyticsServiceMock() var isEnabled = false
mock.isEnabled = false var shouldShowAnalyticsPrompt = false
mock.shouldShowAnalyticsPrompt = false var signpost = Signposter()
mock.signpost = Signposter() }
return mock
convenience init(_ configuration: Configuration) {
self.init()
isEnabled = configuration.isEnabled
shouldShowAnalyticsPrompt = configuration.shouldShowAnalyticsPrompt
signpost = configuration.signpost
} }
} }
+12 -8
View File
@@ -9,18 +9,22 @@
import UIKit import UIKit
extension AppMediatorMock { extension AppMediatorMock {
static var `default`: AppMediatorMock { struct Configuration {
let mock = AppMediatorMock() var appState = UIApplication.State.active
var isCameraAuthorized = true
var networkMonitor = NetworkMonitorMock(.init())
}
mock.underlyingAppState = .active convenience init(_ configuration: Configuration) {
mock.requestAuthorizationIfNeededUnderlyingReturnValue = true self.init()
mock.underlyingNetworkMonitor = NetworkMonitorMock.default
underlyingAppState = configuration.appState
requestAuthorizationIfNeededUnderlyingReturnValue = configuration.isCameraAuthorized
underlyingNetworkMonitor = configuration.networkMonitor
let windowManagerMock = WindowManagerMock() let windowManagerMock = WindowManagerMock()
windowManagerMock.closeAllSecondaryWindowsClosure = { } windowManagerMock.closeAllSecondaryWindowsClosure = { }
windowManagerMock.closeSecondaryWindowForTypeClosure = { _ in } windowManagerMock.closeSecondaryWindowForTypeClosure = { _ in }
mock.underlyingWindowManager = windowManagerMock underlyingWindowManager = windowManagerMock
return mock
} }
} }
@@ -13,27 +13,27 @@ import MatrixRustSDKMocks
extension AuthenticationClientFactoryMock { extension AuthenticationClientFactoryMock {
struct Configuration { struct Configuration {
var homeserverClients = [ var homeserverClients = [
"matrix.org": ClientSDKMock(configuration: .init()), "matrix.org": ClientSDKMock(.init()),
"https://matrix-client.matrix.org": ClientSDKMock(configuration: .init()), "https://matrix-client.matrix.org": ClientSDKMock(.init()),
"example.com": ClientSDKMock(configuration: .init(serverAddress: "example.com", "example.com": ClientSDKMock(.init(serverAddress: "example.com",
homeserverURL: "https://matrix.example.com", homeserverURL: "https://matrix.example.com",
slidingSyncVersion: .native, slidingSyncVersion: .native,
oAuthLoginURL: nil, oAuthLoginURL: nil,
supportsOAuthCreatePrompt: false, supportsOAuthCreatePrompt: false,
supportsPasswordLogin: true)), supportsPasswordLogin: true)),
"company.com": ClientSDKMock(configuration: .init(serverAddress: "company.com", "company.com": ClientSDKMock(.init(serverAddress: "company.com",
homeserverURL: "https://matrix.company.com", homeserverURL: "https://matrix.company.com",
slidingSyncVersion: .native, slidingSyncVersion: .native,
oAuthLoginURL: "https://auth.company.com/login", oAuthLoginURL: "https://auth.company.com/login",
supportsOAuthCreatePrompt: false, supportsOAuthCreatePrompt: false,
supportsPasswordLogin: false)), supportsPasswordLogin: false)),
"server.net": ClientSDKMock(configuration: .init(serverAddress: "server.net", "server.net": ClientSDKMock(.init(serverAddress: "server.net",
homeserverURL: "https://matrix.server.net", homeserverURL: "https://matrix.server.net",
slidingSyncVersion: .native, slidingSyncVersion: .native,
oAuthLoginURL: nil, oAuthLoginURL: nil,
supportsOAuthCreatePrompt: false, supportsOAuthCreatePrompt: false,
supportsPasswordLogin: false)), supportsPasswordLogin: false)),
"secure.gov": ClientSDKMock(configuration: .init(serverAddress: "secure.gov", "secure.gov": ClientSDKMock(.init(serverAddress: "secure.gov",
homeserverURL: "https://ess.secure.gov", homeserverURL: "https://ess.secure.gov",
slidingSyncVersion: .native, slidingSyncVersion: .native,
oAuthLoginURL: "https://auth.secure.gov/login", oAuthLoginURL: "https://auth.secure.gov/login",
@@ -43,7 +43,7 @@ extension AuthenticationClientFactoryMock {
] ]
} }
convenience init(configuration: Configuration) { convenience init(_ configuration: Configuration) {
self.init() self.init()
makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksClosure = { address, _, _, _, _, _ in makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksClosure = { address, _, _, _, _, _ in
@@ -65,6 +65,6 @@ extension RoomInfoProxyMock {
joinRule = .knock joinRule = .knock
historyVisibility = .shared historyVisibility = .shared
powerLevels = RoomPowerLevelsProxyMock(configuration: .init()) powerLevels = RoomPowerLevelsProxyMock(.init())
} }
} }
+1 -1
View File
@@ -151,7 +151,7 @@ extension ClientProxyMock {
} }
} }
userIdentityForFallBackToServerReturnValue = .success(UserIdentityProxyMock(configuration: .init())) userIdentityForFallBackToServerReturnValue = .success(UserIdentityProxyMock(.init()))
underlyingIsReportRoomSupported = true underlyingIsReportRoomSupported = true
underlyingIsLiveKitRTCSupported = true underlyingIsLiveKitRTCSupported = true
@@ -70,7 +70,7 @@ extension RoomInfoProxyMock {
joinRule = .invite joinRule = .invite
historyVisibility = .shared historyVisibility = .shared
powerLevels = RoomPowerLevelsProxyMock(configuration: .init()) powerLevels = RoomPowerLevelsProxyMock(.init())
} }
} }
@@ -46,7 +46,7 @@ struct JoinedRoomProxyMockConfiguration {
var predecessor: PredecessorRoom? var predecessor: PredecessorRoom?
var successor: SuccessorRoom? var successor: SuccessorRoom?
var powerLevelsConfiguration = RoomPowerLevelsProxyMockConfiguration() var powerLevelsConfiguration = RoomPowerLevelsProxyMock.Configuration()
} }
extension JoinedRoomProxyMock { extension JoinedRoomProxyMock {
@@ -97,7 +97,7 @@ extension JoinedRoomProxyMock {
} }
updatePowerLevelsForUsersReturnValue = .success(()) updatePowerLevelsForUsersReturnValue = .success(())
let powerLevelsProxyMock = RoomPowerLevelsProxyMock(configuration: configuration.powerLevelsConfiguration) let powerLevelsProxyMock = RoomPowerLevelsProxyMock(configuration.powerLevelsConfiguration)
powerLevelsProxyMock.canUserUserIDSendStateEventClosure = { [weak self] userID, _ in powerLevelsProxyMock.canUserUserIDSendStateEventClosure = { [weak self] userID, _ in
.success(self?.membersPublisher.value.first { $0.userID == userID }?.role ?? .user != .user) .success(self?.membersPublisher.value.first { $0.userID == userID }?.role ?? .user != .user)
@@ -196,7 +196,7 @@ extension RoomInfoProxyMock {
joinRule = configuration.joinRule joinRule = configuration.joinRule
historyVisibility = configuration.historyVisibility historyVisibility = configuration.historyVisibility
powerLevels = RoomPowerLevelsProxyMock(configuration: configuration.powerLevelsConfiguration) powerLevels = RoomPowerLevelsProxyMock(configuration.powerLevelsConfiguration)
} }
} }
@@ -65,6 +65,6 @@ extension RoomInfoProxyMock {
joinRule = .knock joinRule = .knock
historyVisibility = .shared historyVisibility = .shared
powerLevels = RoomPowerLevelsProxyMock(configuration: .init()) powerLevels = RoomPowerLevelsProxyMock(.init())
} }
} }
@@ -12,7 +12,7 @@ extension MediaProviderMock {
struct Configuration { } struct Configuration { }
// swiftlint:disable:next cyclomatic_complexity // swiftlint:disable:next cyclomatic_complexity
convenience init(configuration: Configuration) { convenience init(_ configuration: Configuration) {
self.init() self.init()
imageFromSourceSizeClosure = { mediaSource, _ in imageFromSourceSizeClosure = { mediaSource, _ in
@@ -10,9 +10,13 @@ import Combine
import Foundation import Foundation
extension NetworkMonitorMock { extension NetworkMonitorMock {
static var `default`: NetworkMonitorMock { struct Configuration {
let mock = NetworkMonitorMock() var reachabilityPublisher = CurrentValuePublisher<NetworkMonitorReachability, Never>(.init(.reachable))
mock.underlyingReachabilityPublisher = .init(.init(.reachable)) }
return mock
convenience init(_ configuration: Configuration) {
self.init()
underlyingReachabilityPublisher = configuration.reachabilityPublisher
} }
} }
@@ -6,9 +6,13 @@
// //
extension NotificationToneManagerMock { extension NotificationToneManagerMock {
static var `default`: NotificationToneManagerMock { struct Configuration {
let mock = NotificationToneManagerMock() let customTones: [NotificationTone] = []
mock.customTonesReturnValue = [] }
return mock
convenience init(_ configuration: Configuration) {
self.init()
customTonesReturnValue = configuration.customTones
} }
} }
@@ -9,12 +9,12 @@
import Combine import Combine
import Foundation import Foundation
struct RoomDirectorySearchProxyMockConfiguration { extension RoomDirectorySearchProxyMock {
struct Configuration {
let results: [RoomDirectorySearchResult] let results: [RoomDirectorySearchResult]
} }
extension RoomDirectorySearchProxyMock { convenience init(_ configuration: Configuration) {
convenience init(configuration: RoomDirectorySearchProxyMockConfiguration) {
self.init() self.init()
resultsPublisher = CurrentValueSubject(configuration.results).asCurrentValuePublisher() resultsPublisher = CurrentValueSubject(configuration.results).asCurrentValuePublisher()
searchQueryReturnValue = .success(()) searchQueryReturnValue = .success(())
@@ -8,7 +8,8 @@
import MatrixRustSDK import MatrixRustSDK
struct RoomPowerLevelsProxyMockConfiguration { extension RoomPowerLevelsProxyMock {
struct Configuration {
var canUserSendMessage = true var canUserSendMessage = true
var canUserSendState = false var canUserSendState = false
var canUserInvite = true var canUserInvite = true
@@ -22,8 +23,7 @@ struct RoomPowerLevelsProxyMockConfiguration {
var canUserEditRoomsAndPermissions = true var canUserEditRoomsAndPermissions = true
} }
extension RoomPowerLevelsProxyMock { convenience init(_ configuration: Configuration) {
convenience init(configuration: RoomPowerLevelsProxyMockConfiguration) {
self.init() self.init()
underlyingValues = RoomPowerLevelsValues.mock underlyingValues = RoomPowerLevelsValues.mock
@@ -37,7 +37,7 @@ extension ClientSDKMock {
enum MockError: Error { case generic } enum MockError: Error { case generic }
convenience init(configuration: Configuration) { convenience init(_ configuration: Configuration) {
self.init() self.init()
homeserverLoginDetailsReturnValue = HomeserverLoginDetailsSDKMock(configuration: configuration) homeserverLoginDetailsReturnValue = HomeserverLoginDetailsSDKMock(configuration: configuration)
@@ -11,7 +11,7 @@ extension UserIdentityProxyMock {
var verificationState: UserIdentityVerificationState = .notVerified var verificationState: UserIdentityVerificationState = .notVerified
} }
convenience init(configuration: Configuration) { convenience init(_ configuration: Configuration) {
self.init() self.init()
underlyingVerificationState = configuration.verificationState underlyingVerificationState = configuration.verificationState
@@ -1,20 +0,0 @@
//
// Copyright 2025 Element Creations Ltd.
// Copyright 2023-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
extension UserIndicatorControllerMock {
static var `default`: UserIndicatorControllerMock {
let mock = UserIndicatorControllerMock()
mock.submitIndicatorDelayClosure = { _, _ in }
mock.retractIndicatorWithIdClosure = { _ in }
mock.retractAllIndicatorsClosure = { }
return mock
}
}
+1 -1
View File
@@ -18,7 +18,7 @@ extension UserSessionMock {
self.init() self.init()
clientProxy = configuration.clientProxy clientProxy = configuration.clientProxy
mediaProvider = MediaProviderMock(configuration: .init()) mediaProvider = MediaProviderMock(.init())
voiceMessageMediaManager = VoiceMessageMediaManagerMock() voiceMessageMediaManager = VoiceMessageMediaManagerMock()
sessionSecurityStatePublisher = CurrentValueSubject<SessionSecurityState, Never>(.init(verificationState: .verified, recoveryState: .enabled)).asCurrentValuePublisher() sessionSecurityStatePublisher = CurrentValueSubject<SessionSecurityState, Never>(.init(verificationState: .verified, recoveryState: .enabled)).asCurrentValuePublisher()
@@ -9,7 +9,7 @@
extension UserSessionStoreMock { extension UserSessionStoreMock {
struct Configuration { } struct Configuration { }
convenience init(configuration: Configuration) { convenience init(_ configuration: Configuration) {
self.init() self.init()
userSessionForSessionDirectoriesPassphraseReturnValue = .success(UserSessionMock(.init())) userSessionForSessionDirectoriesPassphraseReturnValue = .success(UserSessionMock(.init()))
+1 -1
View File
@@ -42,7 +42,7 @@ struct PillView: View {
} }
struct PillView_Previews: PreviewProvider, TestablePreview { struct PillView_Previews: PreviewProvider, TestablePreview {
static let mockMediaProvider = MediaProviderMock(configuration: .init()) static let mockMediaProvider = MediaProviderMock(.init())
static var previews: some View { static var previews: some View {
PillView(context: PillContext.mock(viewState: .mention(isOwnMention: false, PillView(context: PillContext.mock(viewState: .mention(isOwnMention: false,
@@ -71,7 +71,7 @@ struct ShimmerOverlay_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
VStack(spacing: 0) { VStack(spacing: 0) {
ForEach(0...8, id: \.self) { _ in ForEach(0...8, id: \.self) { _ in
HomeScreenRoomCell(room: .placeholder(), isSelected: false, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } HomeScreenRoomCell(room: .placeholder(), isSelected: false, mediaProvider: MediaProviderMock(.init())) { _ in }
} }
} }
.redacted(reason: .placeholder) .redacted(reason: .placeholder)
@@ -256,7 +256,7 @@ struct AvatarHeaderView_Previews: PreviewProvider, TestablePreview {
isDirect: false, isDirect: false,
historySharingState: nil), historySharingState: nil),
avatarSize: .room(on: .details), avatarSize: .room(on: .details),
mediaProvider: MediaProviderMock(configuration: .init())) { mediaProvider: MediaProviderMock(.init())) {
HStack(spacing: 32) { HStack(spacing: 32) {
ShareLink(item: "test") { ShareLink(item: "test") {
CompoundIcon(\.shareIos) CompoundIcon(\.shareIos)
@@ -270,7 +270,7 @@ struct AvatarHeaderView_Previews: PreviewProvider, TestablePreview {
Form { Form {
AvatarHeaderView(accountOwner: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockMe), dmRecipient: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockAlice), AvatarHeaderView(accountOwner: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockMe), dmRecipient: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockAlice),
mediaProvider: MediaProviderMock(configuration: .init())) { mediaProvider: MediaProviderMock(.init())) {
HStack(spacing: 32) { HStack(spacing: 32) {
ShareLink(item: "test") { ShareLink(item: "test") {
CompoundIcon(\.shareIos) CompoundIcon(\.shareIos)
@@ -285,16 +285,16 @@ struct AvatarHeaderView_Previews: PreviewProvider, TestablePreview {
VStack(spacing: 16) { VStack(spacing: 16) {
AvatarHeaderView(member: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockAlice), AvatarHeaderView(member: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockAlice),
avatarSize: .room(on: .details), avatarSize: .room(on: .details),
mediaProvider: MediaProviderMock(configuration: .init())) { Text("") } mediaProvider: MediaProviderMock(.init())) { Text("") }
AvatarHeaderView(member: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockBob), AvatarHeaderView(member: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockBob),
isVerified: true, isVerified: true,
avatarSize: .room(on: .details), avatarSize: .room(on: .details),
mediaProvider: MediaProviderMock(configuration: .init())) { Text("") } mediaProvider: MediaProviderMock(.init())) { Text("") }
AvatarHeaderView(member: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockBanned[3]), AvatarHeaderView(member: RoomMemberDetails(withProxy: RoomMemberProxyMock.mockBanned[3]),
avatarSize: .room(on: .details), avatarSize: .room(on: .details),
mediaProvider: MediaProviderMock(configuration: .init())) { Text("") } mediaProvider: MediaProviderMock(.init())) { Text("") }
} }
.padding() .padding()
.background(Color.compound.bgSubtleSecondaryLevel0) .background(Color.compound.bgSubtleSecondaryLevel0)
@@ -319,7 +319,7 @@ struct AvatarHeaderView_Previews: PreviewProvider, TestablePreview {
isDirect: false, isDirect: false,
historySharingState: state), historySharingState: state),
avatarSize: .room(on: .details), avatarSize: .room(on: .details),
mediaProvider: MediaProviderMock(configuration: .init())) { mediaProvider: MediaProviderMock(.init())) {
HStack(spacing: 32) { HStack(spacing: 32) {
ShareLink(item: "test") { ShareLink(item: "test") {
CompoundIcon(\.shareIos) CompoundIcon(\.shareIos)
@@ -50,7 +50,7 @@ struct EditAvatarButtonStyle_Previews: PreviewProvider {
LoadableAvatarImage(url: nil, LoadableAvatarImage(url: nil,
name: "Test", contentID: "test", name: "Test", contentID: "test",
avatarSize: .user(on: .editUserDetails), avatarSize: .user(on: .editUserDetails),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
.buttonStyle(EditAvatarButtonStyle()) .buttonStyle(EditAvatarButtonStyle())
@@ -58,7 +58,7 @@ struct EditAvatarButtonStyle_Previews: PreviewProvider {
LoadableAvatarImage(url: nil, LoadableAvatarImage(url: nil,
name: "Test", contentID: "test", name: "Test", contentID: "test",
avatarSize: .user(on: .editUserDetails), avatarSize: .user(on: .editUserDetails),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
.buttonStyle(EditAvatarButtonStyle()) .buttonStyle(EditAvatarButtonStyle())
.disabled(true) .disabled(true)
@@ -71,7 +71,7 @@ struct JoinedMembersBadgeView: View {
// MARK: - Previews // MARK: - Previews
struct JoinedMembersBadgeView_Previews: PreviewProvider, TestablePreview { struct JoinedMembersBadgeView_Previews: PreviewProvider, TestablePreview {
static let mediaProvider = MediaProviderMock(configuration: .init()) static let mediaProvider = MediaProviderMock(.init())
static var previews: some View { static var previews: some View {
VStack(spacing: 16) { VStack(spacing: 16) {
@@ -398,7 +398,7 @@ struct LoadableImage_Previews: PreviewProvider, TestablePreview {
} }
static func makeMediaProvider(isLoading: Bool = false) -> MediaProviderProtocol { static func makeMediaProvider(isLoading: Bool = false) -> MediaProviderProtocol {
let mediaProvider = MediaProviderMock(configuration: .init()) let mediaProvider = MediaProviderMock(.init())
if isLoading { if isLoading {
mediaProvider.imageFromSourceSizeClosure = { _, _ in nil } mediaProvider.imageFromSourceSizeClosure = { _, _ in nil }
@@ -141,7 +141,7 @@ struct LocationMarkerView_Previews: PreviewProvider, TestablePreview {
// Static user with avatar // Static user with avatar
LocationMarkerView(kind: .staticUser(.mockDan), LocationMarkerView(kind: .staticUser(.mockDan),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
// Static user without avatar // Static user without avatar
LocationMarkerView(kind: .staticUser(.init(userID: "@someone:matrix.org", LocationMarkerView(kind: .staticUser(.init(userID: "@someone:matrix.org",
@@ -149,7 +149,7 @@ struct LocationMarkerView_Previews: PreviewProvider, TestablePreview {
// Live user with avatar // Live user with avatar
LocationMarkerView(kind: .liveUser(.mockDan), LocationMarkerView(kind: .liveUser(.mockDan),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
// Live user without avatar // Live user without avatar
LocationMarkerView(kind: .liveUser(.init(userID: "@someone:matrix.org", LocationMarkerView(kind: .liveUser(.init(userID: "@someone:matrix.org",
@@ -134,27 +134,27 @@ struct RoomAvatarImage_Previews: PreviewProvider, TestablePreview {
name: "Room", name: "Room",
avatarURL: nil), avatarURL: nil),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomAvatarImage(avatar: .room(id: "!2:server.com", RoomAvatarImage(avatar: .room(id: "!2:server.com",
name: "Room", name: "Room",
avatarURL: .mockMXCAvatar), avatarURL: .mockMXCAvatar),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomAvatarImage(avatar: .space(id: "!space:server.com", RoomAvatarImage(avatar: .space(id: "!space:server.com",
name: "Room", name: "Room",
avatarURL: nil), avatarURL: nil),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomAvatarImage(avatar: .space(id: "!otherspace:server.com", RoomAvatarImage(avatar: .space(id: "!otherspace:server.com",
name: "Room", name: "Room",
avatarURL: .mockMXCAvatar), avatarURL: .mockMXCAvatar),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomAvatarImage(avatar: .tombstoned, avatarSize: .room(on: .chats), mediaProvider: MediaProviderMock(configuration: .init())) RoomAvatarImage(avatar: .tombstoned, avatarSize: .room(on: .chats), mediaProvider: MediaProviderMock(.init()))
} }
HStack(spacing: 12) { HStack(spacing: 12) {
@@ -162,18 +162,18 @@ struct RoomAvatarImage_Previews: PreviewProvider, TestablePreview {
displayName: "User", displayName: "User",
avatarURL: nil)]), avatarURL: nil)]),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomAvatarImage(avatar: .heroes([.init(userID: "@user:server.com", RoomAvatarImage(avatar: .heroes([.init(userID: "@user:server.com",
displayName: "User", displayName: "User",
avatarURL: .mockMXCAvatar)]), avatarURL: .mockMXCAvatar)]),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomAvatarImage(avatar: .heroes([.init(userID: "@alice:server.com", displayName: "Alice", avatarURL: nil), RoomAvatarImage(avatar: .heroes([.init(userID: "@alice:server.com", displayName: "Alice", avatarURL: nil),
.init(userID: "@bob:server.net", displayName: "Bob", avatarURL: nil)]), .init(userID: "@bob:server.net", displayName: "Bob", avatarURL: nil)]),
avatarSize: .room(on: .chats), avatarSize: .room(on: .chats),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
} }
} }
@@ -140,7 +140,7 @@ struct RoomHeaderView_Previews: PreviewProvider, TestablePreview {
dmRecipientVerificationState: verificationState, dmRecipientVerificationState: verificationState,
roomHistorySharingState: historySharingState, roomHistorySharingState: historySharingState,
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
.padding() .padding()
} }
} }
@@ -65,13 +65,13 @@ struct RoomInviterLabel_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
VStack(spacing: 10) { VStack(spacing: 10) {
RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockAlice), RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockAlice),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockDan), RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockDan),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockNoName), RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockNoName),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockCharlie), RoomInviterLabel(inviter: .init(member: RoomMemberProxyMock.mockCharlie),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.foregroundStyle(.compound.textPrimary) .foregroundStyle(.compound.textPrimary)
} }
.font(.compound.bodyMD) .font(.compound.bodyMD)
@@ -68,21 +68,21 @@ struct UserProfileCell_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
Form { Form {
UserProfileListRow(user: .mockAlice, membership: nil, mediaProvider: MediaProviderMock(configuration: .init()), UserProfileListRow(user: .mockAlice, membership: nil, mediaProvider: MediaProviderMock(.init()),
kind: .multiSelection(isSelected: true, action: action)) kind: .multiSelection(isSelected: true, action: action))
UserProfileListRow(user: .mockBob, membership: nil, mediaProvider: MediaProviderMock(configuration: .init()), UserProfileListRow(user: .mockBob, membership: nil, mediaProvider: MediaProviderMock(.init()),
kind: .multiSelection(isSelected: false, action: action)) kind: .multiSelection(isSelected: false, action: action))
UserProfileListRow(user: .mockCharlie, membership: .join, mediaProvider: MediaProviderMock(configuration: .init()), UserProfileListRow(user: .mockCharlie, membership: .join, mediaProvider: MediaProviderMock(.init()),
kind: .multiSelection(isSelected: true, action: action)) kind: .multiSelection(isSelected: true, action: action))
.disabled(true) .disabled(true)
UserProfileListRow(user: .init(userID: "@someone:matrix.org"), membership: .join, mediaProvider: MediaProviderMock(configuration: .init()), UserProfileListRow(user: .init(userID: "@someone:matrix.org"), membership: .join, mediaProvider: MediaProviderMock(.init()),
kind: .multiSelection(isSelected: false, action: action)) kind: .multiSelection(isSelected: false, action: action))
.disabled(true) .disabled(true)
UserProfileListRow(user: .init(userID: "@someone:matrix.org"), membership: nil, mediaProvider: MediaProviderMock(configuration: .init()), UserProfileListRow(user: .init(userID: "@someone:matrix.org"), membership: nil, mediaProvider: MediaProviderMock(.init()),
kind: .multiSelection(isSelected: false, action: action)) kind: .multiSelection(isSelected: false, action: action))
} }
.compoundList() .compoundList()
@@ -162,7 +162,7 @@ struct LoginScreen_Previews: PreviewProvider, TestablePreview {
loginHint: nil, loginHint: nil,
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appSettings: .volatile(), appSettings: .volatile(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
if withCredentials { if withCredentials {
viewModel.context.username = "alice" viewModel.context.username = "alice"
@@ -164,6 +164,6 @@ struct ServerConfirmationScreen_Previews: PreviewProvider, TestablePreview {
mode: mode, mode: mode,
authenticationFlow: flow, authenticationFlow: flow,
appSettings: .volatile(), appSettings: .volatile(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -117,7 +117,7 @@ struct ServerSelection_Previews: PreviewProvider, TestablePreview {
let viewModel = ServerSelectionScreenViewModel(authenticationService: authenticationService, let viewModel = ServerSelectionScreenViewModel(authenticationService: authenticationService,
authenticationFlow: .login, authenticationFlow: .login,
appSettings: .volatile(), appSettings: .volatile(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
viewModel.context.homeserverAddress = homeserverAddress viewModel.context.homeserverAddress = homeserverAddress
if homeserverAddress == "thisisbad" { if homeserverAddress == "thisisbad" {
viewModel.context.send(viewAction: .confirm) viewModel.context.send(viewAction: .confirm)
@@ -152,7 +152,7 @@ struct AuthenticationClassicAppAccountView_Previews: PreviewProvider { // Not Te
isBugReportServiceEnabled: false, isBugReportServiceEnabled: false,
appMediator: AppMediatorMock(), appMediator: AppMediatorMock(),
appSettings: .volatile(), appSettings: .volatile(),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
userIndicatorController: UserIndicatorControllerMock()) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -196,7 +196,7 @@ struct AuthenticationStartScreen_Previews: PreviewProvider, TestablePreview {
isBugReportServiceEnabled: true, isBugReportServiceEnabled: true,
appMediator: AppMediatorMock(), appMediator: AppMediatorMock(),
appSettings: .volatile(), appSettings: .volatile(),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
userIndicatorController: UserIndicatorControllerMock()) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -374,6 +374,6 @@ struct CallScreen_Previews: PreviewProvider {
colorScheme: .light), colorScheme: .light),
allowPictureInPicture: false, allowPictureInPicture: false,
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default) analyticsService: AnalyticsServiceMock(.init()))
} }
} }
@@ -96,7 +96,7 @@ struct ChatsSpaceFilterCell: View {
} }
struct ChatsSpaceFilterCell_Previews: PreviewProvider, TestablePreview { struct ChatsSpaceFilterCell_Previews: PreviewProvider, TestablePreview {
static let mediaProvider = MediaProviderMock(configuration: .init()) static let mediaProvider = MediaProviderMock(.init())
static let spaces = [SpaceServiceRoom].mockJoinedSpaces2 static let spaces = [SpaceServiceRoom].mockJoinedSpaces2
@@ -54,6 +54,6 @@ struct ChatsSpaceFiltersScreen_Previews: PreviewProvider, TestablePreview {
static func makeViewModel() -> ChatsSpaceFiltersScreenViewModel { static func makeViewModel() -> ChatsSpaceFiltersScreenViewModel {
ChatsSpaceFiltersScreenViewModel(spaceService: SpaceServiceProxyMock(.populated), ChatsSpaceFiltersScreenViewModel(spaceService: SpaceServiceProxyMock(.populated),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
} }
@@ -227,8 +227,8 @@ struct PollFormScreen_Previews: PreviewProvider, TestablePreview {
static func makeViewModel(mode: PollFormMode) -> PollFormScreenViewModel { static func makeViewModel(mode: PollFormMode) -> PollFormScreenViewModel {
PollFormScreenViewModel(mode: mode, PollFormScreenViewModel(mode: mode,
timelineController: MockTimelineController(), timelineController: MockTimelineController(),
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -460,8 +460,8 @@ struct CreateRoom_Previews: PreviewProvider, TestablePreview {
spaceSelectionMode: selectionMode, spaceSelectionMode: selectionMode,
shouldShowCancelButton: isSpace, shouldShowCancelButton: isSpace,
userSession: userSession, userSession: userSession,
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
appSettings: appSettings) appSettings: appSettings)
} }
} }
@@ -73,8 +73,8 @@ struct CreateRoomSpaceSelectionSheet_Previews: PreviewProvider, TestablePreview
spaceSelectionMode: .editableSpacesList(preSelectedSpace: nil), spaceSelectionMode: .editableSpacesList(preSelectedSpace: nil),
shouldShowCancelButton: false, shouldShowCancelButton: false,
userSession: userSession, userSession: userSession,
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
appSettings: appSettings) appSettings: appSettings)
}() }()
@@ -166,7 +166,7 @@ struct TimelineMediaPreviewModifier_Previews: PreviewProvider {
let timelineController = MockTimelineController(timelineKind: .media(.mediaFilesScreen)) let timelineController = MockTimelineController(timelineKind: .media(.mediaFilesScreen))
timelineController.timelineItems = [item] timelineController.timelineItems = [item]
let mediaProvider = MediaProviderMock(configuration: .init()) let mediaProvider = MediaProviderMock(.init())
if isDownloading { if isDownloading {
mediaProvider.loadFileFromSourceFilenameClosure = { _, _ in mediaProvider.loadFileFromSourceFilenameClosure = { _, _ in
@@ -230,7 +230,7 @@ struct TimelineMediaPreviewDetailsView_Previews: PreviewProvider, TestablePrevie
let viewModel = TimelineMediaPreviewViewModel(initialItem: item, let viewModel = TimelineMediaPreviewViewModel(initialItem: item,
timelineViewModel: TimelineViewModel.mock(timelineKind: timelineKind, timelineViewModel: TimelineViewModel.mock(timelineKind: timelineKind,
timelineController: timelineController), timelineController: timelineController),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
photoLibraryManager: PhotoLibraryManagerMock(.init()), photoLibraryManager: PhotoLibraryManagerMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock()) appMediator: AppMediatorMock())
@@ -147,7 +147,7 @@ struct TimelineMediaPreviewRedactConfirmationView_Previews: PreviewProvider, Tes
return TimelineMediaPreviewViewModel(initialItem: item, return TimelineMediaPreviewViewModel(initialItem: item,
timelineViewModel: TimelineViewModel.mock(timelineKind: timelineController.timelineKind, timelineViewModel: TimelineViewModel.mock(timelineKind: timelineController.timelineKind,
timelineController: timelineController), timelineController: timelineController),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
photoLibraryManager: PhotoLibraryManagerMock(.init()), photoLibraryManager: PhotoLibraryManagerMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock()) appMediator: AppMediatorMock())
@@ -207,7 +207,7 @@ private class GlobalSearchTextField: UITextField {
struct GlobalSearchScreen_Previews: PreviewProvider, TestablePreview { struct GlobalSearchScreen_Previews: PreviewProvider, TestablePreview {
static let viewModel = GlobalSearchScreenViewModel(roomSummaryProvider: RoomSummaryProviderMock(.init(state: .loaded(.mockRooms))), static let viewModel = GlobalSearchScreenViewModel(roomSummaryProvider: RoomSummaryProviderMock(.init(state: .loaded(.mockRooms))),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
static var previews: some View { static var previews: some View {
ElementNavigationStack { ElementNavigationStack {
@@ -38,7 +38,7 @@ struct GlobalSearchScreenListRow: View {
struct GlobalSearchScreenListRow_Previews: PreviewProvider, TestablePreview { struct GlobalSearchScreenListRow_Previews: PreviewProvider, TestablePreview {
static let viewModel = GlobalSearchScreenViewModel(roomSummaryProvider: RoomSummaryProviderMock(.init(state: .loaded(.mockRooms))), static let viewModel = GlobalSearchScreenViewModel(roomSummaryProvider: RoomSummaryProviderMock(.init(state: .loaded(.mockRooms))),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
static var previews: some View { static var previews: some View {
List { List {
@@ -225,8 +225,8 @@ struct HomeScreen_Previews: PreviewProvider, TestablePreview {
return HomeScreenViewModel(userSession: userSession, return HomeScreenViewModel(userSession: userSession,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(), selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
notificationManager: NotificationManagerMock(), notificationManager: NotificationManagerMock(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -146,8 +146,8 @@ struct HomeScreenEmptyStateView_Previews: PreviewProvider, TestablePreview {
return HomeScreenViewModel(userSession: userSession, return HomeScreenViewModel(userSession: userSession,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(), selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
notificationManager: NotificationManagerMock(), notificationManager: NotificationManagerMock(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
}() }()
} }
@@ -203,9 +203,9 @@ struct HomeScreenInviteCell_Previews: PreviewProvider, TestablePreview {
return HomeScreenViewModel(userSession: userSession, return HomeScreenViewModel(userSession: userSession,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(), selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
notificationManager: NotificationManagerMock(), notificationManager: NotificationManagerMock(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -135,9 +135,9 @@ struct HomeScreenKnockedCell_Previews: PreviewProvider, TestablePreview {
return HomeScreenViewModel(userSession: userSession, return HomeScreenViewModel(userSession: userSession,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(), selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
notificationManager: NotificationManagerMock(), notificationManager: NotificationManagerMock(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -124,8 +124,8 @@ struct HomeScreenRecoveryKeyConfirmationBanner_Previews: PreviewProvider, Testab
return HomeScreenViewModel(userSession: userSession, return HomeScreenViewModel(userSession: userSession,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(), selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
notificationManager: NotificationManagerMock(), notificationManager: NotificationManagerMock(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -221,17 +221,17 @@ struct HomeScreenRoomCell_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
VStack(spacing: 0) { VStack(spacing: 0) {
ForEach(genericRooms) { room in ForEach(genericRooms) { room in
HomeScreenRoomCell(room: room, isSelected: false, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } HomeScreenRoomCell(room: room, isSelected: false, mediaProvider: MediaProviderMock(.init())) { _ in }
} }
HomeScreenRoomCell(room: .placeholder(), isSelected: false, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } HomeScreenRoomCell(room: .placeholder(), isSelected: false, mediaProvider: MediaProviderMock(.init())) { _ in }
.redacted(reason: .placeholder) .redacted(reason: .placeholder)
} }
.previewDisplayName("Generic") .previewDisplayName("Generic")
VStack(spacing: 0) { VStack(spacing: 0) {
ForEach(notificationsStateRooms) { room in ForEach(notificationsStateRooms) { room in
HomeScreenRoomCell(room: room, isSelected: false, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } HomeScreenRoomCell(room: room, isSelected: false, mediaProvider: MediaProviderMock(.init())) { _ in }
} }
} }
.previewLayout(.sizeThatFits) .previewLayout(.sizeThatFits)
@@ -239,7 +239,7 @@ struct HomeScreenRoomCell_Previews: PreviewProvider, TestablePreview {
VStack(spacing: 0) { VStack(spacing: 0) {
ForEach(lastMessageStateRooms) { room in ForEach(lastMessageStateRooms) { room in
HomeScreenRoomCell(room: room, isSelected: false, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } HomeScreenRoomCell(room: room, isSelected: false, mediaProvider: MediaProviderMock(.init())) { _ in }
} }
} }
.previewLayout(.sizeThatFits) .previewLayout(.sizeThatFits)
@@ -256,9 +256,9 @@ struct HomeScreenRoomCell_Previews: PreviewProvider, TestablePreview {
return HomeScreenViewModel(userSession: userSession, return HomeScreenViewModel(userSession: userSession,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(), selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
notificationManager: NotificationManagerMock(), notificationManager: NotificationManagerMock(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
static func makeRoom(lastMessageState: RoomSummary.LastMessageState) -> HomeScreenRoom { static func makeRoom(lastMessageState: RoomSummary.LastMessageState) -> HomeScreenRoom {
@@ -64,7 +64,7 @@ struct InviteUsersScreenSelectedItem_Previews: PreviewProvider, TestablePreview
ScrollView(.horizontal) { ScrollView(.horizontal) {
HStack(spacing: 8) { HStack(spacing: 8) {
ForEach(people, id: \.userID) { user in ForEach(people, id: \.userID) { user in
InviteUsersScreenSelectedItem(user: user, mediaProvider: MediaProviderMock(configuration: .init())) { } InviteUsersScreenSelectedItem(user: user, mediaProvider: MediaProviderMock(.init())) { }
.frame(width: 80) .frame(width: 80)
} }
} }
@@ -458,7 +458,7 @@ struct JoinRoomScreenPreviewWrapper: Identifiable {
viewModel = JoinRoomScreenViewModel(source: source, viewModel = JoinRoomScreenViewModel(source: source,
appSettings: appSettings, appSettings: appSettings,
userSession: UserSessionMock(.init(clientProxy: clientProxy)), userSession: UserSessionMock(.init(clientProxy: clientProxy)),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
var previewDisplayName: String { var previewDisplayName: String {
@@ -394,8 +394,8 @@ extension LocationSharingScreenViewModel {
roomProxy: roomProxy, roomProxy: roomProxy,
timelineController: MockTimelineController(), timelineController: MockTimelineController(),
liveLocationManager: LiveLocationManagerMock(), liveLocationManager: LiveLocationManagerMock(),
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
} }
@@ -90,19 +90,19 @@ struct UserLocationCell_Previews: PreviewProvider, TestablePreview {
UserLocationCell(profile: .mockDan, UserLocationCell(profile: .mockDan,
isOwnUser: true, isOwnUser: true,
kind: .static(isUserLocation: true, timestamp: .mock), kind: .static(isUserLocation: true, timestamp: .mock),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.previewDisplayName("Stiatc user locaton") .previewDisplayName("Stiatc user locaton")
.previewLayout(.sizeThatFits) .previewLayout(.sizeThatFits)
UserLocationCell(profile: .mockDan, UserLocationCell(profile: .mockDan,
isOwnUser: false, isOwnUser: false,
kind: .static(isUserLocation: false, timestamp: .mock), kind: .static(isUserLocation: false, timestamp: .mock),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.previewDisplayName("Static pin location") .previewDisplayName("Static pin location")
.previewLayout(.sizeThatFits) .previewLayout(.sizeThatFits)
UserLocationCell(profile: .mockDan, UserLocationCell(profile: .mockDan,
isOwnUser: true, isOwnUser: true,
kind: .live, kind: .live,
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.previewDisplayName("Live location") .previewDisplayName("Live location")
.previewLayout(.sizeThatFits) .previewLayout(.sizeThatFits)
} }
@@ -109,7 +109,7 @@ struct ManageAuthorizedSpacesScreen_Previews: PreviewProvider, TestablePreview {
initialSelectedIDs: ["space1", initialSelectedIDs: ["space1",
"space3", "space3",
"!unknown-space-id-2"]), "!unknown-space-id-2"]),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
static var previews: some View { static var previews: some View {
ElementNavigationStack { ElementNavigationStack {
@@ -120,7 +120,7 @@ private extension ManageRoomMemberSheetViewModel {
ownPowerLevel: powerLevel), ownPowerLevel: powerLevel),
roomProxy: JoinedRoomProxyMock(.init()), roomProxy: JoinedRoomProxyMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
} }
@@ -298,7 +298,7 @@ struct MediaEventsTimelineScreen_Previews: PreviewProvider, TestablePreview {
MediaEventsTimelineScreenViewModel(mediaTimelineViewModel: makeTimelineViewModel(empty: empty), MediaEventsTimelineScreenViewModel(mediaTimelineViewModel: makeTimelineViewModel(empty: empty),
filesTimelineViewModel: makeTimelineViewModel(empty: empty), filesTimelineViewModel: makeTimelineViewModel(empty: empty),
initialScreenMode: screenMode, initialScreenMode: screenMode,
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock()) appMediator: AppMediatorMock())
} }
@@ -316,9 +316,9 @@ struct MediaEventsTimelineScreen_Previews: PreviewProvider, TestablePreview {
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
mediaPlayerProvider: MediaPlayerProviderMock(), mediaPlayerProvider: MediaPlayerProviderMock(),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock.default, appMediator: AppMediatorMock(.init()),
appSettings: appSettings, appSettings: appSettings,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
emojiProvider: EmojiProvider(appSettings: appSettings), emojiProvider: EmojiProvider(appSettings: appSettings),
linkMetadataProvider: LinkMetadataProvider(), linkMetadataProvider: LinkMetadataProvider(),
timelineControllerFactory: TimelineControllerFactoryMock(.init())) timelineControllerFactory: TimelineControllerFactoryMock(.init()))
@@ -374,7 +374,7 @@ struct MediaUploadPreviewScreen_Previews: PreviewProvider, TestablePreview {
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: .volatile()), mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: .volatile()),
timelineController: MockTimelineController(), timelineController: MockTimelineController(),
clientProxy: ClientProxyMock(.init()), clientProxy: ClientProxyMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
static var previews: some View { static var previews: some View {
ElementNavigationStack { ElementNavigationStack {
MediaUploadPreviewScreen(context: viewModel.context) MediaUploadPreviewScreen(context: viewModel.context)
@@ -141,6 +141,6 @@ struct IdentityConfirmationScreen_Previews: PreviewProvider, TestablePreview {
return IdentityConfirmationScreenViewModel(userSession: userSession, return IdentityConfirmationScreenViewModel(userSession: userSession,
appSettings: .volatile(), appSettings: .volatile(),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -121,13 +121,13 @@ struct SessionVerificationRequestDetailsView_Previews: PreviewProvider, Testable
static var previews: some View { static var previews: some View {
SessionVerificationRequestDetailsView(details: details, SessionVerificationRequestDetailsView(details: details,
isUserVerification: true, isUserVerification: true,
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.padding() .padding()
.previewDisplayName("User") .previewDisplayName("User")
SessionVerificationRequestDetailsView(details: details, SessionVerificationRequestDetailsView(details: details,
isUserVerification: false, isUserVerification: false,
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.padding() .padding()
.previewDisplayName("Device") .previewDisplayName("Device")
} }
@@ -290,7 +290,7 @@ struct SessionVerification_Previews: PreviewProvider, TestablePreview {
let viewModel = SessionVerificationScreenViewModel(sessionVerificationControllerProxy: SessionVerificationControllerProxyMock.configureMock(), let viewModel = SessionVerificationScreenViewModel(sessionVerificationControllerProxy: SessionVerificationControllerProxyMock.configureMock(),
flow: flow, flow: flow,
appSettings: .volatile(), appSettings: .volatile(),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
verificationState: state) verificationState: state)
return SessionVerificationScreen(context: viewModel.context) return SessionVerificationScreen(context: viewModel.context)
@@ -69,7 +69,7 @@ struct PinnedEventsTimelineScreen_Previews: PreviewProvider, TestablePreview {
static let viewModel = PinnedEventsTimelineScreenViewModel(roomProxy: JoinedRoomProxyMock(.init()), static let viewModel = PinnedEventsTimelineScreenViewModel(roomProxy: JoinedRoomProxyMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default) analyticsService: AnalyticsServiceMock(.init()))
static let emptyTimelineViewModel: TimelineViewModel = { static let emptyTimelineViewModel: TimelineViewModel = {
let timelineController = MockTimelineController(timelineKind: .pinned) let timelineController = MockTimelineController(timelineKind: .pinned)
@@ -82,9 +82,9 @@ struct PinnedEventsTimelineScreen_Previews: PreviewProvider, TestablePreview {
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
mediaPlayerProvider: MediaPlayerProviderMock(), mediaPlayerProvider: MediaPlayerProviderMock(),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock.default, appMediator: AppMediatorMock(.init()),
appSettings: appSettings, appSettings: appSettings,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
emojiProvider: EmojiProvider(appSettings: appSettings), emojiProvider: EmojiProvider(appSettings: appSettings),
linkMetadataProvider: LinkMetadataProvider(), linkMetadataProvider: LinkMetadataProvider(),
timelineControllerFactory: TimelineControllerFactoryMock(.init())) timelineControllerFactory: TimelineControllerFactoryMock(.init()))
@@ -340,7 +340,7 @@ class QRCodeLoginScreenViewModel: QRCodeLoginScreenViewModelType, QRCodeLoginScr
/// Only for mocking initial states /// Only for mocking initial states
fileprivate init(state: QRCodeLoginState, mode: QRCodeLoginScreenMode, canSignInManually: Bool, checkCodeInput: String) { fileprivate init(state: QRCodeLoginState, mode: QRCodeLoginScreenMode, canSignInManually: Bool, checkCodeInput: String) {
appMediator = AppMediatorMock.default appMediator = AppMediatorMock(.init())
super.init(initialViewState: .init(state: state, super.init(initialViewState: .init(state: state,
mode: mode, mode: mode,
canSignInManually: canSignInManually, canSignInManually: canSignInManually,
@@ -91,6 +91,6 @@ struct RoomChangePermissionsScreen_Previews: PreviewProvider, TestablePreview {
ownPowerLevel: ownPowerLevel, ownPowerLevel: ownPowerLevel,
roomProxy: JoinedRoomProxyMock(.init(isSpace: isSpace)), roomProxy: JoinedRoomProxyMock(.init(isSpace: isSpace)),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
} }
} }
@@ -149,8 +149,8 @@ struct RoomChangeRolesScreen_Previews: PreviewProvider, TestablePreview {
return RoomChangeRolesScreenViewModel(mode: mode, return RoomChangeRolesScreenViewModel(mode: mode,
roomProxy: JoinedRoomProxyMock(.init(members: members)), roomProxy: JoinedRoomProxyMock(.init(members: members)),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
} }
} }
@@ -40,34 +40,34 @@ struct RoomChangeRolesScreenRow_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
Form { Form {
RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockAlice), RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockAlice),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
isSelected: true, isSelected: true,
action: action) action: action)
RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockBob), RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockBob),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
isSelected: false, isSelected: false,
action: action) action: action)
RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockInvited), RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockInvited),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
isSelected: false, isSelected: false,
action: action) action: action)
RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockCharlie), RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock.mockCharlie),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
isSelected: true, isSelected: true,
action: action) action: action)
.disabled(true) .disabled(true)
RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock(with: .init(userID: "@someone:matrix.org", membership: .join))), RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock(with: .init(userID: "@someone:matrix.org", membership: .join))),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
isSelected: false, isSelected: false,
action: action) action: action)
.disabled(true) .disabled(true)
RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock(with: .init(userID: "@someone:matrix.org", membership: .join))), RoomChangeRolesScreenRow(member: .init(withProxy: RoomMemberProxyMock(with: .init(userID: "@someone:matrix.org", membership: .join))),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
isSelected: false, isSelected: false,
action: action) action: action)
} }
@@ -76,7 +76,7 @@ struct RoomChangeRolesScreenSelectedItem_Previews: PreviewProvider, TestablePrev
HStack(spacing: 12) { HStack(spacing: 12) {
ForEach(members, id: \.id) { member in ForEach(members, id: \.id) { member in
RoomChangeRolesScreenSelectedItem(member: member, RoomChangeRolesScreenSelectedItem(member: member,
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
.frame(width: 72) .frame(width: 72)
} }
} }
@@ -178,6 +178,6 @@ struct RoomDetailsEditScreen_Previews: PreviewProvider, TestablePreview {
return RoomDetailsEditScreenViewModel(roomProxy: roomProxy, return RoomDetailsEditScreenViewModel(roomProxy: roomProxy,
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: .volatile()), mediaUploadingPreprocessor: MediaUploadingPreprocessor(appSettings: .volatile()),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -420,8 +420,8 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
return .init(roomProxy: roomProxy, return .init(roomProxy: roomProxy,
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
notificationSettingsProxy: notificationSettingsProxy, notificationSettingsProxy: notificationSettingsProxy,
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()), attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
appSettings: .volatile()) appSettings: .volatile())
@@ -448,8 +448,8 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
return .init(roomProxy: roomProxy, return .init(roomProxy: roomProxy,
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
notificationSettingsProxy: notificationSettingsProxy, notificationSettingsProxy: notificationSettingsProxy,
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()), attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
appSettings: .volatile()) appSettings: .volatile())
@@ -474,9 +474,9 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
clientProxyMock.userIdentityForFallBackToServerClosure = { userID, _ in clientProxyMock.userIdentityForFallBackToServerClosure = { userID, _ in
let identity = switch userID { let identity = switch userID {
case RoomMemberProxyMock.mockDan.userID: case RoomMemberProxyMock.mockDan.userID:
UserIdentityProxyMock(configuration: .init(verificationState: verificationState)) UserIdentityProxyMock(.init(verificationState: verificationState))
default: default:
UserIdentityProxyMock(configuration: .init()) UserIdentityProxyMock(.init())
} }
return .success(identity) return .success(identity)
@@ -486,8 +486,8 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
return .init(roomProxy: roomProxy, return .init(roomProxy: roomProxy,
userSession: UserSessionMock(.init(clientProxy: clientProxyMock)), userSession: UserSessionMock(.init(clientProxy: clientProxyMock)),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
notificationSettingsProxy: notificationSettingsProxy, notificationSettingsProxy: notificationSettingsProxy,
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()), attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
appSettings: .volatile()) appSettings: .volatile())
@@ -56,7 +56,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: "Test title", name: "Test title",
avatarURL: nil), avatarURL: nil),
canBeJoined: true), canBeJoined: true),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_2:matrix.org", RoomDirectorySearchCell(result: .init(id: "!test_id_2:matrix.org",
alias: "#test:example.com", alias: "#test:example.com",
@@ -66,7 +66,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: nil, name: nil,
avatarURL: nil), avatarURL: nil),
canBeJoined: true), canBeJoined: true),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_3:example.com", RoomDirectorySearchCell(result: .init(id: "!test_id_3:example.com",
alias: "#test_no_topic:example.com", alias: "#test_no_topic:example.com",
@@ -76,7 +76,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: "Test title no topic", name: "Test title no topic",
avatarURL: nil), avatarURL: nil),
canBeJoined: true), canBeJoined: true),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_4:example.com", RoomDirectorySearchCell(result: .init(id: "!test_id_4:example.com",
alias: "#test_no_topic:example.com", alias: "#test_no_topic:example.com",
@@ -86,7 +86,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: nil, name: nil,
avatarURL: nil), avatarURL: nil),
canBeJoined: true), canBeJoined: true),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_5:example.com", RoomDirectorySearchCell(result: .init(id: "!test_id_5:example.com",
alias: nil, alias: nil,
@@ -96,7 +96,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: "Test title no alias", name: "Test title no alias",
avatarURL: nil), avatarURL: nil),
canBeJoined: false), canBeJoined: false),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_6:example.com", RoomDirectorySearchCell(result: .init(id: "!test_id_6:example.com",
alias: nil, alias: nil,
@@ -106,7 +106,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: "Test title no alias", name: "Test title no alias",
avatarURL: nil), avatarURL: nil),
canBeJoined: false), canBeJoined: false),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_7:example.com", RoomDirectorySearchCell(result: .init(id: "!test_id_7:example.com",
alias: nil, alias: nil,
@@ -116,7 +116,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: nil, name: nil,
avatarURL: nil), avatarURL: nil),
canBeJoined: false), canBeJoined: false),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
RoomDirectorySearchCell(result: .init(id: "!test_id_8:example.com", RoomDirectorySearchCell(result: .init(id: "!test_id_8:example.com",
alias: nil, alias: nil,
name: nil, name: nil,
@@ -125,7 +125,7 @@ struct RoomDirectorySearchCell_Previews: PreviewProvider, TestablePreview {
name: nil, name: nil,
avatarURL: nil), avatarURL: nil),
canBeJoined: false), canBeJoined: false),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
} }
.compoundList() .compoundList()
} }
@@ -88,7 +88,7 @@ struct RoomDirectorySearchScreen_Previews: PreviewProvider, TestablePreview {
avatarURL: .mockMXCAvatar), avatarURL: .mockMXCAvatar),
canBeJoined: false)] canBeJoined: false)]
let roomDirectorySearchProxy = RoomDirectorySearchProxyMock(configuration: .init(results: results)) let roomDirectorySearchProxy = RoomDirectorySearchProxyMock(.init(results: results))
let clientProxy = ClientProxyMock(.init(roomDirectorySearchProxy: roomDirectorySearchProxy)) let clientProxy = ClientProxyMock(.init(roomDirectorySearchProxy: roomDirectorySearchProxy))
@@ -221,11 +221,11 @@ struct RoomMemberDetailsScreen_Previews: PreviewProvider, TestablePreview {
clientProxyMock.userIdentityForFallBackToServerClosure = { userID, _ in clientProxyMock.userIdentityForFallBackToServerClosure = { userID, _ in
let identity = switch userID { let identity = switch userID {
case RoomMemberProxyMock.mockDan.userID: case RoomMemberProxyMock.mockDan.userID:
UserIdentityProxyMock(configuration: .init(verificationState: .verified)) UserIdentityProxyMock(.init(verificationState: .verified))
case RoomMemberProxyMock.mockBob.userID: case RoomMemberProxyMock.mockBob.userID:
UserIdentityProxyMock(configuration: .init(verificationState: .verificationViolation)) UserIdentityProxyMock(.init(verificationState: .verificationViolation))
default: default:
UserIdentityProxyMock(configuration: .init()) UserIdentityProxyMock(.init())
} }
return .success(identity) return .success(identity)
@@ -239,8 +239,8 @@ struct RoomMemberDetailsScreen_Previews: PreviewProvider, TestablePreview {
return RoomMemberDetailsScreenViewModel(userID: member.userID, return RoomMemberDetailsScreenViewModel(userID: member.userID,
roomProxy: roomProxyMock, roomProxy: roomProxyMock,
userSession: UserSessionMock(.init(clientProxy: clientProxyMock)), userSession: UserSessionMock(.init(clientProxy: clientProxyMock)),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
appSettings: .volatile()) appSettings: .volatile())
} }
} }
@@ -245,11 +245,11 @@ struct RoomMembersListScreen_Previews: PreviewProvider, TestablePreview {
clientProxyMock.userIdentityForFallBackToServerClosure = { userID, _ in clientProxyMock.userIdentityForFallBackToServerClosure = { userID, _ in
let identity = switch userID { let identity = switch userID {
case RoomMemberProxyMock.mockAlice.userID: case RoomMemberProxyMock.mockAlice.userID:
UserIdentityProxyMock(configuration: .init(verificationState: .verified)) UserIdentityProxyMock(.init(verificationState: .verified))
case RoomMemberProxyMock.mockBob.userID: case RoomMemberProxyMock.mockBob.userID:
UserIdentityProxyMock(configuration: .init(verificationState: .verificationViolation)) UserIdentityProxyMock(.init(verificationState: .verificationViolation))
default: default:
UserIdentityProxyMock(configuration: .init()) UserIdentityProxyMock(.init())
} }
return .success(identity) return .success(identity)
@@ -261,7 +261,7 @@ struct RoomMembersListScreen_Previews: PreviewProvider, TestablePreview {
members: members, members: members,
ownUserID: ownUserID, ownUserID: ownUserID,
powerLevelsConfiguration: .init(canUserInvite: false))), powerLevelsConfiguration: .init(canUserInvite: false))),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
} }
} }
@@ -131,8 +131,8 @@ struct RoomMembersListMemberCell_Previews: PreviewProvider, TestablePreview {
static let viewModel = RoomMembersListScreenViewModel(userSession: UserSessionMock(.init()), static let viewModel = RoomMembersListScreenViewModel(userSession: UserSessionMock(.init()),
roomProxy: JoinedRoomProxyMock(.init(name: "Some room", members: [])), roomProxy: JoinedRoomProxyMock(.init(name: "Some room", members: [])),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
static var previews: some View { static var previews: some View {
VStack(spacing: 0) { VStack(spacing: 0) {
Section("Invited/Joined") { Section("Invited/Joined") {
@@ -121,12 +121,12 @@ struct RoomRolesAndPermissionsScreen_Previews: PreviewProvider, TestablePreview
static let viewModel = RoomRolesAndPermissionsScreenViewModel(initialPermissions: RoomPermissions(powerLevels: .mock), static let viewModel = RoomRolesAndPermissionsScreenViewModel(initialPermissions: RoomPermissions(powerLevels: .mock),
roomProxy: JoinedRoomProxyMock(.init(members: .allMembersAsAdmin)), roomProxy: JoinedRoomProxyMock(.init(members: .allMembersAsAdmin)),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
static let creatorViewModel = RoomRolesAndPermissionsScreenViewModel(initialPermissions: RoomPermissions(powerLevels: .mock), static let creatorViewModel = RoomRolesAndPermissionsScreenViewModel(initialPermissions: RoomPermissions(powerLevels: .mock),
roomProxy: JoinedRoomProxyMock(.init(members: .allMembersAsCreator)), roomProxy: JoinedRoomProxyMock(.init(members: .allMembersAsCreator)),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
static var previews: some View { static var previews: some View {
ElementNavigationStack { ElementNavigationStack {
RoomRolesAndPermissionsScreen(context: viewModel.context) RoomRolesAndPermissionsScreen(context: viewModel.context)
@@ -824,10 +824,10 @@ extension ComposerToolbarViewModel {
let viewModel = ComposerToolbarViewModel(roomProxy: roomProxy, let viewModel = ComposerToolbarViewModel(roomProxy: roomProxy,
wysiwygViewModel: wysiwygViewModel, wysiwygViewModel: wysiwygViewModel,
completionSuggestionService: CompletionSuggestionServiceMock(configuration: .init(suggestions: suggestions)), completionSuggestionService: CompletionSuggestionServiceMock(configuration: .init(suggestions: suggestions)),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
mentionDisplayHelper: ComposerMentionDisplayHelper.mock, mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: .volatile(), appSettings: .volatile(),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
composerDraftService: ComposerDraftServiceMock(.init())) composerDraftService: ComposerDraftServiceMock(.init()))
viewModel.state.bindings.composerFocused = focused viewModel.state.bindings.composerFocused = focused
viewModel.state.bindings.plainComposerText = NSAttributedString(string: message) viewModel.state.bindings.plainComposerText = NSAttributedString(string: message)
@@ -109,13 +109,13 @@ struct CompletionSuggestion_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
// Putting them is VStack allows the preview to work properly in tests // Putting them is VStack allows the preview to work properly in tests
VStack(spacing: 8) { VStack(spacing: 8) {
CompletionSuggestionView(mediaProvider: MediaProviderMock(configuration: .init()), CompletionSuggestionView(mediaProvider: MediaProviderMock(.init()),
items: [.init(suggestionType: .user(.init(id: "@user_mention_1:matrix.org", displayName: "User 1", avatarURL: nil)), range: .init(), rawSuggestionText: ""), items: [.init(suggestionType: .user(.init(id: "@user_mention_1:matrix.org", displayName: "User 1", avatarURL: nil)), range: .init(), rawSuggestionText: ""),
.init(suggestionType: .user(.init(id: "@user_mention_2:matrix.org", displayName: "User 2", avatarURL: .mockMXCUserAvatar)), range: .init(), rawSuggestionText: "")]) { _ in } .init(suggestionType: .user(.init(id: "@user_mention_2:matrix.org", displayName: "User 2", avatarURL: .mockMXCUserAvatar)), range: .init(), rawSuggestionText: "")]) { _ in }
} }
VStack(spacing: 8) { VStack(spacing: 8) {
CompletionSuggestionView(mediaProvider: MediaProviderMock(configuration: .init()), CompletionSuggestionView(mediaProvider: MediaProviderMock(.init()),
items: multipleItems) { _ in } items: multipleItems) { _ in }
} }
} }
@@ -46,7 +46,7 @@ struct MentionSuggestionItemView: View {
} }
struct MentionSuggestionItemView_Previews: PreviewProvider, TestablePreview { struct MentionSuggestionItemView_Previews: PreviewProvider, TestablePreview {
static let mockMediaProvider = MediaProviderMock(configuration: .init()) static let mockMediaProvider = MediaProviderMock(.init())
static var previews: some View { static var previews: some View {
MentionSuggestionItemView(mediaProvider: mockMediaProvider, item: .init(suggestionType: .user(.init(id: "test", displayName: "Test", avatarURL: .mockMXCUserAvatar)), range: .init(), rawSuggestionText: "")) MentionSuggestionItemView(mediaProvider: mockMediaProvider, item: .init(suggestionType: .user(.init(id: "test", displayName: "Test", avatarURL: .mockMXCUserAvatar)), range: .init(), rawSuggestionText: ""))
@@ -86,10 +86,10 @@ struct RoomAttachmentPicker_Previews: PreviewProvider, TestablePreview {
return ComposerToolbarViewModel(roomProxy: JoinedRoomProxyMock(.init()), return ComposerToolbarViewModel(roomProxy: JoinedRoomProxyMock(.init()),
wysiwygViewModel: WysiwygComposerViewModel(), wysiwygViewModel: WysiwygComposerViewModel(),
completionSuggestionService: CompletionSuggestionServiceMock(configuration: .init()), completionSuggestionService: CompletionSuggestionServiceMock(configuration: .init()),
mediaProvider: MediaProviderMock(configuration: .init()), mediaProvider: MediaProviderMock(.init()),
mentionDisplayHelper: ComposerMentionDisplayHelper.mock, mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: appSettings, appSettings: appSettings,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
composerDraftService: ComposerDraftServiceMock(.init())) composerDraftService: ComposerDraftServiceMock(.init()))
} }
@@ -463,8 +463,8 @@ extension RoomScreenViewModel {
ongoingCallRoomIDPublisher: .init(.init(nil)), ongoingCallRoomIDPublisher: .init(.init(nil)),
appSettings: .volatile(), appSettings: .volatile(),
appHooks: appHooks, appHooks: appHooks,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -367,10 +367,10 @@ struct RoomScreen_Previews: PreviewProvider, TestablePreview {
timelineController: MockTimelineController(), timelineController: MockTimelineController(),
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
mediaPlayerProvider: MediaPlayerProviderMock(), mediaPlayerProvider: MediaPlayerProviderMock(),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock.default, appMediator: AppMediatorMock(.init()),
appSettings: appSettings, appSettings: appSettings,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
emojiProvider: EmojiProvider(appSettings: appSettings), emojiProvider: EmojiProvider(appSettings: appSettings),
linkMetadataProvider: LinkMetadataProvider(), linkMetadataProvider: LinkMetadataProvider(),
timelineControllerFactory: TimelineControllerFactoryMock(.init())) timelineControllerFactory: TimelineControllerFactoryMock(.init()))
@@ -165,11 +165,11 @@ struct RoomScreenFooterView_Previews: PreviewProvider, TestablePreview {
learnMoreURL: "https://element.io/") learnMoreURL: "https://element.io/")
static var previews: some View { static var previews: some View {
RoomScreenFooterView(details: bobDetails, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } RoomScreenFooterView(details: bobDetails, mediaProvider: MediaProviderMock(.init())) { _ in }
.previewDisplayName("With displayname") .previewDisplayName("With displayname")
RoomScreenFooterView(details: noNameDetails, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } RoomScreenFooterView(details: noNameDetails, mediaProvider: MediaProviderMock(.init())) { _ in }
.previewDisplayName("Without displayname") .previewDisplayName("Without displayname")
RoomScreenFooterView(details: verificationViolationDetails, mediaProvider: MediaProviderMock(configuration: .init())) { _ in } RoomScreenFooterView(details: verificationViolationDetails, mediaProvider: MediaProviderMock(.init())) { _ in }
.previewDisplayName("Verification Violation") .previewDisplayName("Verification Violation")
} }
} }
@@ -161,6 +161,6 @@ struct RoomThreadListScreen_Previews: PreviewProvider, TestablePreview {
static func makeViewModel() -> RoomThreadListScreenViewModel { static func makeViewModel() -> RoomThreadListScreenViewModel {
RoomThreadListScreenViewModel(threadListServiceProxy: RoomThreadListServiceProxyMock(.init()), RoomThreadListScreenViewModel(threadListServiceProxy: RoomThreadListServiceProxyMock(.init()),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
} }
@@ -163,9 +163,9 @@ struct AdvancedSettingsScreen_Previews: PreviewProvider, TestablePreview {
static let viewModel = { static let viewModel = {
let appSettings = AppSettings.volatile() let appSettings = AppSettings.volatile()
return AdvancedSettingsScreenViewModel(advancedSettings: appSettings, return AdvancedSettingsScreenViewModel(advancedSettings: appSettings,
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
clientProxy: ClientProxyMock(.init()), clientProxy: ClientProxyMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
}() }()
static var previews: some View { static var previews: some View {
@@ -41,7 +41,7 @@ struct AnalyticsSettingsScreen_Previews: PreviewProvider, TestablePreview {
static var previews: some View { static var previews: some View {
let appSettings = AppSettings.volatile() let appSettings = AppSettings.volatile()
let viewModel = AnalyticsSettingsScreenViewModel(appSettings: appSettings, let viewModel = AnalyticsSettingsScreenViewModel(appSettings: appSettings,
analytics: AnalyticsServiceMock.default) analytics: AnalyticsServiceMock(.init()))
AnalyticsSettingsScreen(context: viewModel.context) AnalyticsSettingsScreen(context: viewModel.context)
} }
} }
@@ -283,9 +283,9 @@ struct NotificationSettingsScreen_Previews: PreviewProvider, TestablePreview {
var viewModel = NotificationSettingsScreenViewModel(appSettings: appSettings, var viewModel = NotificationSettingsScreenViewModel(appSettings: appSettings,
userNotificationCenter: notificationCenter, userNotificationCenter: notificationCenter,
notificationToneManager: NotificationToneManagerMock.default, notificationToneManager: NotificationToneManagerMock(.init()),
notificationSettingsProxy: notificationSettingsProxy, notificationSettingsProxy: notificationSettingsProxy,
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
isModallyPresented: true) isModallyPresented: true)
viewModel.fetchInitialContent() viewModel.fetchInitialContent()
return viewModel return viewModel
@@ -313,7 +313,7 @@ struct NotificationSettingsScreen_Previews: PreviewProvider, TestablePreview {
var viewModel = NotificationSettingsScreenViewModel(appSettings: appSettings, var viewModel = NotificationSettingsScreenViewModel(appSettings: appSettings,
userNotificationCenter: notificationCenter, userNotificationCenter: notificationCenter,
notificationToneManager: NotificationToneManagerMock.default, notificationToneManager: NotificationToneManagerMock(.init()),
notificationSettingsProxy: notificationSettingsProxy, notificationSettingsProxy: notificationSettingsProxy,
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
isModallyPresented: true) isModallyPresented: true)
@@ -142,6 +142,6 @@ struct UserDetailsEditScreen_Previews: PreviewProvider, TestablePreview {
canChangeAvatar: canChangeProfile, canChangeAvatar: canChangeProfile,
canChangeDisplayName: canChangeProfile)))), canChangeDisplayName: canChangeProfile)))),
mediaUploadingPreprocessor: .init(appSettings: .volatile()), mediaUploadingPreprocessor: .init(appSettings: .volatile()),
userIndicatorController: UserIndicatorControllerMock.default) userIndicatorController: UserIndicatorControllerMock())
} }
} }
@@ -101,7 +101,7 @@ struct SpaceHeaderView: View {
// MARK: - Previews // MARK: - Previews
struct SpaceHeaderView_Previews: PreviewProvider, TestablePreview { struct SpaceHeaderView_Previews: PreviewProvider, TestablePreview {
static let mediaProvider = MediaProviderMock(configuration: .init()) static let mediaProvider = MediaProviderMock(.init())
static let spaces = makeSpaceRooms() static let spaces = makeSpaceRooms()
@@ -167,7 +167,7 @@ struct SpaceRoomCellButtonStyle: ButtonStyle {
} }
struct SpaceRoomCell_Previews: PreviewProvider, TestablePreview { struct SpaceRoomCell_Previews: PreviewProvider, TestablePreview {
static let mediaProvider = MediaProviderMock(configuration: .init()) static let mediaProvider = MediaProviderMock(.init())
static let spaces = [SpaceServiceRoom].mockSpaceList static let spaces = [SpaceServiceRoom].mockSpaceList
@@ -96,14 +96,14 @@ struct LeaveSpaceRoomDetailsCell_Previews: PreviewProvider, TestablePreview {
isLastOwner: false, isLastOwner: false,
areCreatorsPrivileged: false, areCreatorsPrivileged: false,
isSelected: true), isSelected: true),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "2", LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "2",
name: "My Space", name: "My Space",
isSpace: true), isSpace: true),
isLastOwner: true, isLastOwner: true,
areCreatorsPrivileged: false, areCreatorsPrivileged: false,
isSelected: false), isSelected: false),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "2", LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "2",
name: "My Space", name: "My Space",
isSpace: true), isSpace: true),
@@ -111,21 +111,21 @@ struct LeaveSpaceRoomDetailsCell_Previews: PreviewProvider, TestablePreview {
areCreatorsPrivileged: false, areCreatorsPrivileged: false,
isSelected: false), isSelected: false),
hideSelection: true, hideSelection: true,
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "3", LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "3",
name: "Room", name: "Room",
isSpace: false), isSpace: false),
isLastOwner: false, isLastOwner: false,
areCreatorsPrivileged: false, areCreatorsPrivileged: false,
isSelected: true), isSelected: true),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "4", LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "4",
name: "My Room", name: "My Room",
isSpace: false), isSpace: false),
isLastOwner: true, isLastOwner: true,
areCreatorsPrivileged: false, areCreatorsPrivileged: false,
isSelected: false), isSelected: false),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "4", LeaveSpaceRoomDetailsCell(room: .init(spaceServiceRoom: SpaceServiceRoom.mock(id: "4",
name: "My Room", name: "My Room",
isSpace: false), isSpace: false),
@@ -133,7 +133,7 @@ struct LeaveSpaceRoomDetailsCell_Previews: PreviewProvider, TestablePreview {
areCreatorsPrivileged: false, areCreatorsPrivileged: false,
isSelected: false), isSelected: false),
hideSelection: true, hideSelection: true,
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
} }
} }
} }
@@ -177,6 +177,6 @@ struct LeaveSpaceView_Previews: PreviewProvider, TestablePreview {
canEditRolesAndPermissions: true, canEditRolesAndPermissions: true,
leaveHandle: leaveHandle, leaveHandle: leaveHandle,
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
} }
} }
@@ -46,7 +46,7 @@ struct SpaceAddRoomsScreenSelectedItem_Previews: PreviewProvider, TestablePrevie
avatar: .room(id: "", avatar: .room(id: "",
name: "Selected Room", name: "Selected Room",
avatarURL: .mockMXCAvatar)), avatarURL: .mockMXCAvatar)),
mediaProvider: MediaProviderMock(configuration: .init())) { } mediaProvider: MediaProviderMock(.init())) { }
.frame(width: 80) .frame(width: 80)
} }
} }
@@ -132,8 +132,8 @@ struct SpaceSettingsScreen_Previews: PreviewProvider, TestablePreview {
canonicalAlias: "#space:matrix.org", canonicalAlias: "#space:matrix.org",
members: members)), members: members)),
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
notificationSettingsProxy: NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration()), notificationSettingsProxy: NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration()),
attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()), attributedStringBuilder: AttributedStringBuilder(mentionBuilder: MentionBuilder()),
appSettings: .volatile()) appSettings: .volatile())
@@ -84,7 +84,7 @@ struct JoinRoomByAddressView_Previews: PreviewProvider, TestablePreview {
userDiscoveryService.searchProfilesWithReturnValue = .success([.mockAlice]) userDiscoveryService.searchProfilesWithReturnValue = .success([.mockAlice])
return StartChatScreenViewModel(userSession: userSession, return StartChatScreenViewModel(userSession: userSession,
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
userDiscoveryService: userDiscoveryService, userDiscoveryService: userDiscoveryService,
appSettings: .volatile()) appSettings: .volatile())
@@ -159,7 +159,7 @@ struct StartChatScreen_Previews: PreviewProvider, TestablePreview {
let userDiscoveryService = UserDiscoveryServiceMock() let userDiscoveryService = UserDiscoveryServiceMock()
userDiscoveryService.searchProfilesWithReturnValue = .success([.mockAlice]) userDiscoveryService.searchProfilesWithReturnValue = .success([.mockAlice])
return StartChatScreenViewModel(userSession: userSession, return StartChatScreenViewModel(userSession: userSession,
analytics: AnalyticsServiceMock.default, analytics: AnalyticsServiceMock(.init()),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
userDiscoveryService: userDiscoveryService, userDiscoveryService: userDiscoveryService,
appSettings: appSettings) appSettings: appSettings)
@@ -1128,10 +1128,10 @@ extension TimelineViewModel {
timelineController: timelineController ?? MockTimelineController(timelineKind: timelineKind), timelineController: timelineController ?? MockTimelineController(timelineKind: timelineKind),
userSession: UserSessionMock(.init(clientProxy: clientProxyMock)), userSession: UserSessionMock(.init(clientProxy: clientProxyMock)),
mediaPlayerProvider: MediaPlayerProviderMock(), mediaPlayerProvider: MediaPlayerProviderMock(),
userIndicatorController: UserIndicatorControllerMock.default, userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock.default, appMediator: AppMediatorMock(.init()),
appSettings: appSettings, appSettings: appSettings,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
emojiProvider: EmojiProvider(appSettings: appSettings), emojiProvider: EmojiProvider(appSettings: appSettings),
linkMetadataProvider: LinkMetadataProvider(), linkMetadataProvider: LinkMetadataProvider(),
timelineControllerFactory: TimelineControllerFactoryMock(.init())) timelineControllerFactory: TimelineControllerFactoryMock(.init()))
@@ -64,18 +64,18 @@ struct ReadReceiptCell_Previews: PreviewProvider, TestablePreview {
formattedTimestamp: "10:00"), formattedTimestamp: "10:00"),
memberState: .init(displayName: "Test", memberState: .init(displayName: "Test",
avatarURL: nil), avatarURL: nil),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.previewDisplayName("No Image") .previewDisplayName("No Image")
ReadReceiptCell(readReceipt: .init(userID: "@test:matrix.org", ReadReceiptCell(readReceipt: .init(userID: "@test:matrix.org",
formattedTimestamp: "10:00"), formattedTimestamp: "10:00"),
memberState: .init(displayName: "Test", memberState: .init(displayName: "Test",
avatarURL: .mockMXCUserAvatar), avatarURL: .mockMXCUserAvatar),
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.previewDisplayName("With Image") .previewDisplayName("With Image")
ReadReceiptCell(readReceipt: .init(userID: "@test:matrix.org", ReadReceiptCell(readReceipt: .init(userID: "@test:matrix.org",
formattedTimestamp: "10:00"), formattedTimestamp: "10:00"),
memberState: nil, memberState: nil,
mediaProvider: MediaProviderMock(configuration: .init())) mediaProvider: MediaProviderMock(.init()))
.previewDisplayName("Loading Member") .previewDisplayName("Loading Member")
} }
} }
@@ -52,9 +52,9 @@ struct ReadReceiptsSummaryView_Previews: PreviewProvider, TestablePreview {
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
mediaPlayerProvider: MediaPlayerProviderMock(), mediaPlayerProvider: MediaPlayerProviderMock(),
userIndicatorController: UserIndicatorControllerMock(), userIndicatorController: UserIndicatorControllerMock(),
appMediator: AppMediatorMock.default, appMediator: AppMediatorMock(.init()),
appSettings: appSettings, appSettings: appSettings,
analyticsService: AnalyticsServiceMock.default, analyticsService: AnalyticsServiceMock(.init()),
emojiProvider: EmojiProvider(appSettings: appSettings), emojiProvider: EmojiProvider(appSettings: appSettings),
linkMetadataProvider: LinkMetadataProvider(), linkMetadataProvider: LinkMetadataProvider(),
timelineControllerFactory: TimelineControllerFactoryMock(.init())) timelineControllerFactory: TimelineControllerFactoryMock(.init()))

Some files were not shown because too many files have changed in this diff Show More