mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
updated tests
This commit is contained in:
@@ -19,15 +19,8 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
|
|||||||
viewModel.context
|
viewModel.context
|
||||||
}
|
}
|
||||||
|
|
||||||
override func setUp() {
|
|
||||||
roomProxy = JoinedRoomProxyMock(.init())
|
|
||||||
viewModel = RoomChangePermissionsScreenViewModel(currentPermissions: .init(powerLevels: .mock),
|
|
||||||
roomProxy: roomProxy,
|
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
|
||||||
analytics: ServiceLocator.shared.analytics)
|
|
||||||
}
|
|
||||||
|
|
||||||
func testChangeSetting() {
|
func testChangeSetting() {
|
||||||
|
setUp(isSpace: false)
|
||||||
// Given a screen with no changes.
|
// Given a screen with no changes.
|
||||||
guard let index = context.settings[.roomDetails]?.firstIndex(where: { $0.keyPath == \.roomAvatar }) else {
|
guard let index = context.settings[.roomDetails]?.firstIndex(where: { $0.keyPath == \.roomAvatar }) else {
|
||||||
XCTFail("There should be a setting for the room avatar.")
|
XCTFail("There should be a setting for the room avatar.")
|
||||||
@@ -46,6 +39,7 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testSave() async throws {
|
func testSave() async throws {
|
||||||
|
setUp(isSpace: false)
|
||||||
// Given a screen with changes.
|
// Given a screen with changes.
|
||||||
guard let index = context.settings[.roomDetails]?.firstIndex(where: { $0.keyPath == \.roomAvatar }) else {
|
guard let index = context.settings[.roomDetails]?.firstIndex(where: { $0.keyPath == \.roomAvatar }) else {
|
||||||
XCTFail("There should be a setting for the room avatar.")
|
XCTFail("There should be a setting for the room avatar.")
|
||||||
@@ -68,6 +62,7 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testSaveNoChanges() async throws {
|
func testSaveNoChanges() async throws {
|
||||||
|
setUp(isSpace: false)
|
||||||
// Given a screen with no changes.
|
// Given a screen with no changes.
|
||||||
XCTAssertFalse(context.viewState.hasChanges)
|
XCTAssertFalse(context.viewState.hasChanges)
|
||||||
|
|
||||||
@@ -77,4 +72,28 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
|
|||||||
// Then nothing should happen.
|
// Then nothing should happen.
|
||||||
XCTAssertFalse(roomProxy.applyPowerLevelChangesCalled)
|
XCTAssertFalse(roomProxy.applyPowerLevelChangesCalled)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testDefaultStateRoom() async throws {
|
||||||
|
setUp(isSpace: false)
|
||||||
|
XCTAssertNotNil(context.settings[.roomDetails])
|
||||||
|
XCTAssertNotNil(context.settings[.memberModeration])
|
||||||
|
XCTAssertNotNil(context.settings[.messagesAndContent])
|
||||||
|
XCTAssertNil(context.settings[.manageSpace])
|
||||||
|
}
|
||||||
|
|
||||||
|
func testDefaultStateSpace() async throws {
|
||||||
|
setUp(isSpace: true)
|
||||||
|
XCTAssertNotNil(context.settings[.roomDetails])
|
||||||
|
XCTAssertNotNil(context.settings[.memberModeration])
|
||||||
|
XCTAssertNil(context.settings[.messagesAndContent])
|
||||||
|
XCTAssertNotNil(context.settings[.manageSpace])
|
||||||
|
}
|
||||||
|
|
||||||
|
private func setUp(isSpace: Bool) {
|
||||||
|
roomProxy = JoinedRoomProxyMock(.init(isSpace: isSpace))
|
||||||
|
viewModel = RoomChangePermissionsScreenViewModel(currentPermissions: .init(powerLevels: .mock),
|
||||||
|
roomProxy: roomProxy,
|
||||||
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
|
analytics: ServiceLocator.shared.analytics)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ class RoomPermissionsTests: XCTestCase {
|
|||||||
usersDefault: 0,
|
usersDefault: 0,
|
||||||
roomName: 0,
|
roomName: 0,
|
||||||
roomAvatar: 0,
|
roomAvatar: 0,
|
||||||
roomTopic: 0)
|
roomTopic: 0,
|
||||||
|
manageRoomsInSpace: 100)
|
||||||
|
|
||||||
// When creating room permissions from them.
|
// When creating room permissions from them.
|
||||||
let permissions = RoomPermissions(powerLevels: powerLevels)
|
let permissions = RoomPermissions(powerLevels: powerLevels)
|
||||||
@@ -39,5 +40,6 @@ class RoomPermissionsTests: XCTestCase {
|
|||||||
XCTAssertEqual(permissions.roomName, .user)
|
XCTAssertEqual(permissions.roomName, .user)
|
||||||
XCTAssertEqual(permissions.roomAvatar, .user)
|
XCTAssertEqual(permissions.roomAvatar, .user)
|
||||||
XCTAssertEqual(permissions.roomTopic, .user)
|
XCTAssertEqual(permissions.roomTopic, .user)
|
||||||
|
XCTAssertEqual(permissions.manageRoomsInSpace, .administrator)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user