@@ -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}
0 commit comments