Files
element-x-ios/ElementX/Sources/Mocks/RoomPowerLevelsProxyMock.swift
T
Doug 08d02001bf 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.
2026-05-22 17:34:35 +01:00

73 lines
3.2 KiB
Swift

//
// Copyright 2025 Element Creations Ltd.
// Copyright 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 MatrixRustSDK
extension RoomPowerLevelsProxyMock {
struct Configuration {
var canUserSendMessage = true
var canUserSendState = false
var canUserInvite = true
var canUserRedactOther = false
var canUserRedactOwn = true
var canUserKick = false
var canUserBan = false
var canUserTriggerRoomNotification = false
var canUserPin = true
var canUserJoinCall = true
var canUserEditRoomsAndPermissions = true
}
convenience init(_ configuration: Configuration) {
self.init()
underlyingValues = RoomPowerLevelsValues.mock
canOwnUserSendMessageReturnValue = configuration.canUserSendMessage
canOwnUserSendStateEventReturnValue = configuration.canUserSendState
canOwnUserInviteReturnValue = configuration.canUserInvite
canOwnUserRedactOtherReturnValue = configuration.canUserRedactOther
canOwnUserRedactOwnReturnValue = configuration.canUserRedactOwn
canOwnUserKickReturnValue = configuration.canUserKick
canOwnUserBanReturnValue = configuration.canUserBan
canOwnUserTriggerRoomNotificationReturnValue = configuration.canUserTriggerRoomNotification
canOwnUserPinOrUnpinReturnValue = configuration.canUserPin
canOwnUserJoinCallReturnValue = configuration.canUserJoinCall
canOwnUserEditRolesAndPermissionsReturnValue = configuration.canUserEditRoomsAndPermissions
canUserUserIDSendMessageReturnValue = .success(configuration.canUserSendMessage)
canUserUserIDSendStateEventReturnValue = .success(configuration.canUserSendState)
canUserInviteUserIDReturnValue = .success(configuration.canUserInvite)
canUserRedactOtherUserIDReturnValue = .success(configuration.canUserRedactOther)
canUserRedactOwnUserIDReturnValue = .success(configuration.canUserRedactOwn)
canUserKickUserIDReturnValue = .success(configuration.canUserKick)
canUserBanUserIDReturnValue = .success(configuration.canUserBan)
canUserTriggerRoomNotificationUserIDReturnValue = .success(configuration.canUserTriggerRoomNotification)
canUserPinOrUnpinUserIDReturnValue = .success(configuration.canUserPin)
canUserJoinCallUserIDReturnValue = .success(configuration.canUserJoinCall)
}
}
extension RoomPowerLevelsValues {
static var mock: RoomPowerLevelsValues {
RoomPowerLevelsValues(ban: 50,
invite: 0,
kick: 50,
redact: 50,
eventsDefault: 0,
stateDefault: 50,
usersDefault: 0,
roomName: 50,
roomAvatar: 50,
roomTopic: 50,
spaceChild: 50,
beacon: 0,
beaconInfo: 50)
}
}