Add RoomChangeRolesScreen. (#2534)

Not part of a flow yet, just the screen.
This commit is contained in:
Doug
2024-03-07 16:24:05 +00:00
committed by GitHub
parent 063b3732b1
commit 046f1dd533
19 changed files with 904 additions and 0 deletions
@@ -2750,6 +2750,27 @@ class RoomProxyMock: RoomProxyProtocol {
return applyPowerLevelChangesReturnValue
}
}
//MARK: - updatePowerLevelsForUsers
var updatePowerLevelsForUsersCallsCount = 0
var updatePowerLevelsForUsersCalled: Bool {
return updatePowerLevelsForUsersCallsCount > 0
}
var updatePowerLevelsForUsersReceivedUpdates: [(userID: String, powerLevel: Int64)]?
var updatePowerLevelsForUsersReceivedInvocations: [[(userID: String, powerLevel: Int64)]] = []
var updatePowerLevelsForUsersReturnValue: Result<Void, RoomProxyError>!
var updatePowerLevelsForUsersClosure: (([(userID: String, powerLevel: Int64)]) async -> Result<Void, RoomProxyError>)?
func updatePowerLevelsForUsers(_ updates: [(userID: String, powerLevel: Int64)]) async -> Result<Void, RoomProxyError> {
updatePowerLevelsForUsersCallsCount += 1
updatePowerLevelsForUsersReceivedUpdates = updates
updatePowerLevelsForUsersReceivedInvocations.append(updates)
if let updatePowerLevelsForUsersClosure = updatePowerLevelsForUsersClosure {
return await updatePowerLevelsForUsersClosure(updates)
} else {
return updatePowerLevelsForUsersReturnValue
}
}
//MARK: - canUser
var canUserUserIDSendStateEventCallsCount = 0
@@ -91,6 +91,12 @@ extension RoomMemberProxyMock {
membership: .join))
}
static var mockVerbose: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@charliev:matrix.org",
displayName: "Charlie is the best display name",
membership: .join))
}
static var mockInvited: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@invited:matrix.org",
displayName: "Invited",
@@ -90,6 +90,7 @@ extension RoomProxyMock {
currentPowerLevelChangesReturnValue = .success(.init())
applyPowerLevelChangesReturnValue = .success(())
updatePowerLevelsForUsersReturnValue = .success(())
canUserUserIDSendStateEventClosure = { [weak self] userID, _ in
.success(self?.membersPublisher.value.first { $0.userID == userID }?.role ?? .user != .user)
}