Add missing image provider to RoomChangeRolesScreenViewModel. (#2715)

* Add an assertion for a missing image provider.

* Pass an image provider to RoomChangeRolesScreenViewModel.

* Update snapshots.
This commit is contained in:
Doug
2024-04-19 11:56:41 +01:00
committed by GitHub
parent 8ef6fee95f
commit b5f1d5947b
25 changed files with 52 additions and 25 deletions
@@ -22,6 +22,7 @@ import SwiftUI
struct RoomChangeRolesScreenCoordinatorParameters {
let mode: RoomMemberDetails.Role
let roomProxy: RoomProxyProtocol
let mediaProvider: MediaProviderProtocol
let userIndicatorController: UserIndicatorControllerProtocol
let analytics: AnalyticsService
}
@@ -46,6 +47,7 @@ final class RoomChangeRolesScreenCoordinator: CoordinatorProtocol {
viewModel = RoomChangeRolesScreenViewModel(mode: parameters.mode,
roomProxy: parameters.roomProxy,
mediaProvider: parameters.mediaProvider,
userIndicatorController: parameters.userIndicatorController,
analytics: parameters.analytics)
}
@@ -31,6 +31,7 @@ class RoomChangeRolesScreenViewModel: RoomChangeRolesScreenViewModelType, RoomCh
init(mode: RoomMemberDetails.Role,
roomProxy: RoomProxyProtocol,
mediaProvider: MediaProviderProtocol,
userIndicatorController: UserIndicatorControllerProtocol,
analytics: AnalyticsService) {
guard mode != .user else { fatalError("Invalid screen configuration: \(mode)") }
@@ -43,7 +44,8 @@ class RoomChangeRolesScreenViewModel: RoomChangeRolesScreenViewModelType, RoomCh
administrators: [],
moderators: [],
users: [],
bindings: .init()))
bindings: .init()),
imageProvider: mediaProvider)
roomProxy.membersPublisher
.receive(on: DispatchQueue.main)
@@ -133,6 +133,7 @@ struct RoomChangeRolesScreen_Previews: PreviewProvider, TestablePreview {
static func makeViewModel(mode: RoomMemberDetails.Role) -> RoomChangeRolesScreenViewModel {
RoomChangeRolesScreenViewModel(mode: mode,
roomProxy: RoomProxyMock(with: .init(members: .allMembersAsAdmin)),
mediaProvider: MockMediaProvider(),
userIndicatorController: UserIndicatorControllerMock(),
analytics: ServiceLocator.shared.analytics)
}