Remove the protocol for SpaceServiceRoom given its a struct type. (#5000)

* Remove the protocol for SpaceServiceRoom given its a struct type.

* Fix a few missed mocks in the unit tests.
This commit is contained in:
Doug
2026-01-26 09:45:46 +00:00
committed by GitHub
parent 3b231339cd
commit 06f37dacae
46 changed files with 459 additions and 545 deletions
@@ -31,7 +31,7 @@ struct CreateRoomScreenViewState: BindableState {
let isKnockingFeatureEnabled: Bool
let canSelectSpace: Bool
var aliasLocalPart: String
var editableSpaces: [SpaceServiceRoomProtocol] = []
var editableSpaces: [SpaceServiceRoom] = []
var bindings: CreateRoomScreenViewStateBindings
var avatarMediaInfo: MediaInfo? {
didSet {
@@ -99,7 +99,7 @@ struct CreateRoomScreenViewState: BindableState {
struct CreateRoomScreenViewStateBindings {
var roomTopic: String
var selectedAccessType: CreateRoomScreenAccessType
var selectedSpace: SpaceServiceRoomProtocol?
var selectedSpace: SpaceServiceRoom?
var showAttachmentConfirmationDialog = false
var showSpaceSelectionSheet = false
@@ -144,5 +144,5 @@ enum CreateRoomScreenAccessType {
enum CreateRoomScreenSpaceSelectionMode {
case editableSpacesList
case preSelected(SpaceServiceRoomProtocol)
case preSelected(SpaceServiceRoom)
}
@@ -39,7 +39,7 @@ class CreateRoomScreenViewModel: CreateRoomScreenViewModelType, CreateRoomScreen
self.analytics = analytics
self.userIndicatorController = userIndicatorController
var selectedSpace: SpaceServiceRoomProtocol?
var selectedSpace: SpaceServiceRoom?
var canSelectSpace = false
switch spaceSelectionMode {
case .editableSpacesList:
@@ -378,21 +378,21 @@ struct CreateRoom_Previews: PreviewProvider, TestablePreview {
return viewModel
}()
static let selectedSpaceViewModel = makeViewModel(selectionMode: .preSelected(SpaceServiceRoomMock(.init(name: "Awesome Space",
isSpace: true,
joinRule: .private))))
static let selectedSpaceViewModel = makeViewModel(selectionMode: .preSelected(SpaceServiceRoom.mock(name: "Awesome Space",
isSpace: true,
joinRule: .private)))
static let selectedSpaceWithListViewModel = {
let viewModel = makeViewModel()
viewModel.context.selectedSpace = [SpaceServiceRoomProtocol].mockJoinedSpaces2.first
viewModel.context.selectedSpace = [SpaceServiceRoom].mockJoinedSpaces2.first
return viewModel
}()
static let selectedSpaceWithAskToJoinViewModel = {
let viewModel = makeViewModel(isKnockingEnabled: true,
selectionMode: .preSelected(SpaceServiceRoomMock(.init(name: "Awesome Space",
isSpace: true,
joinRule: .private))))
selectionMode: .preSelected(SpaceServiceRoom.mock(name: "Awesome Space",
isSpace: true,
joinRule: .private)))
viewModel.context.selectedAccessType = .askToJoinWithSpaceMembers
return viewModel
}()
@@ -469,7 +469,7 @@ struct CreateRoom_Previews: PreviewProvider, TestablePreview {
let clientProxy = ClientProxyMock(.init(userIDServerName: "example.org",
userID: "@userid:example.com"))
clientProxy.isAliasAvailableReturnValue = .success(isAliasAvailable)
let spaces = [SpaceServiceRoomProtocol].mockJoinedSpaces2
let spaces = [SpaceServiceRoom].mockJoinedSpaces2
clientProxy.spaceService = SpaceServiceProxyMock(.init(editableSpaces: spaces))
let userSession = UserSessionMock(.init(clientProxy: clientProxy))