Skip to content

Commit 47fb4e3

Browse files
committed
updated tests
1 parent 6bda04e commit 47fb4e3

File tree

2 files changed

+30
-9
lines changed

2 files changed

+30
-9
lines changed

UnitTests/Sources/RoomChangePermissionsScreenViewModelTests.swift

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,9 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
1818
var context: RoomChangePermissionsScreenViewModelType.Context {
1919
viewModel.context
2020
}
21-
22-
override func setUp() {
23-
roomProxy = JoinedRoomProxyMock(.init())
24-
viewModel = RoomChangePermissionsScreenViewModel(currentPermissions: .init(powerLevels: .mock),
25-
roomProxy: roomProxy,
26-
userIndicatorController: UserIndicatorControllerMock(),
27-
analytics: ServiceLocator.shared.analytics)
28-
}
2921

3022
func testChangeSetting() {
23+
setUp(isSpace: false)
3124
// Given a screen with no changes.
3225
guard let index = context.settings[.roomDetails]?.firstIndex(where: { $0.keyPath == \.roomAvatar }) else {
3326
XCTFail("There should be a setting for the room avatar.")
@@ -46,6 +39,7 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
4639
}
4740

4841
func testSave() async throws {
42+
setUp(isSpace: false)
4943
// Given a screen with changes.
5044
guard let index = context.settings[.roomDetails]?.firstIndex(where: { $0.keyPath == \.roomAvatar }) else {
5145
XCTFail("There should be a setting for the room avatar.")
@@ -68,6 +62,7 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
6862
}
6963

7064
func testSaveNoChanges() async throws {
65+
setUp(isSpace: false)
7166
// Given a screen with no changes.
7267
XCTAssertFalse(context.viewState.hasChanges)
7368

@@ -77,4 +72,28 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
7772
// Then nothing should happen.
7873
XCTAssertFalse(roomProxy.applyPowerLevelChangesCalled)
7974
}
75+
76+
func testDefaultStateRoom() async throws {
77+
setUp(isSpace: false)
78+
XCTAssertNotNil(context.settings[.roomDetails])
79+
XCTAssertNotNil(context.settings[.memberModeration])
80+
XCTAssertNotNil(context.settings[.messagesAndContent])
81+
XCTAssertNil(context.settings[.manageSpace])
82+
}
83+
84+
func testDefaultStateSpace() async throws {
85+
setUp(isSpace: true)
86+
XCTAssertNotNil(context.settings[.roomDetails])
87+
XCTAssertNotNil(context.settings[.memberModeration])
88+
XCTAssertNil(context.settings[.messagesAndContent])
89+
XCTAssertNotNil(context.settings[.manageSpace])
90+
}
91+
92+
private func setUp(isSpace: Bool) {
93+
roomProxy = JoinedRoomProxyMock(.init(isSpace: isSpace))
94+
viewModel = RoomChangePermissionsScreenViewModel(currentPermissions: .init(powerLevels: .mock),
95+
roomProxy: roomProxy,
96+
userIndicatorController: UserIndicatorControllerMock(),
97+
analytics: ServiceLocator.shared.analytics)
98+
}
8099
}

UnitTests/Sources/RoomPermissionsTests.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ class RoomPermissionsTests: XCTestCase {
2323
usersDefault: 0,
2424
roomName: 0,
2525
roomAvatar: 0,
26-
roomTopic: 0)
26+
roomTopic: 0,
27+
manageRoomsInSpace: 100)
2728

2829
// When creating room permissions from them.
2930
let permissions = RoomPermissions(powerLevels: powerLevels)
@@ -39,5 +40,6 @@ class RoomPermissionsTests: XCTestCase {
3940
XCTAssertEqual(permissions.roomName, .user)
4041
XCTAssertEqual(permissions.roomAvatar, .user)
4142
XCTAssertEqual(permissions.roomTopic, .user)
43+
XCTAssertEqual(permissions.manageRoomsInSpace, .administrator)
4244
}
4345
}

0 commit comments

Comments
 (0)