mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 01:20:12 +00:00
pr suggestions
This commit is contained in:
+14
-14
@@ -67,7 +67,7 @@ struct SecurityAndPrivacyScreenViewState: BindableState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var isSpaceMembersOptionAvailable: Bool {
|
var isSpaceMembersOptionAvailable: Bool {
|
||||||
currentSettings.accessType.isSpaceUsers || isSpaceMembersOptionSelectable
|
currentSettings.accessType.isSpaceMembers || isSpaceMembersOptionSelectable
|
||||||
}
|
}
|
||||||
|
|
||||||
var isSpaceMembersOptionSelectable: Bool {
|
var isSpaceMembersOptionSelectable: Bool {
|
||||||
@@ -75,7 +75,7 @@ struct SecurityAndPrivacyScreenViewState: BindableState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var isAskToJoinWithSpaceMembersOptionAvailable: Bool {
|
var isAskToJoinWithSpaceMembersOptionAvailable: Bool {
|
||||||
currentSettings.accessType.isAskToJoinWithSpaceUsers || isAskToJoinWithSpaceMembersOptionSelectable
|
currentSettings.accessType.isAskToJoinWithSpaceMembers || isAskToJoinWithSpaceMembersOptionSelectable
|
||||||
}
|
}
|
||||||
|
|
||||||
var isAskToJoinWithSpaceMembersOptionSelectable: Bool {
|
var isAskToJoinWithSpaceMembersOptionSelectable: Bool {
|
||||||
@@ -113,9 +113,9 @@ struct SecurityAndPrivacyScreenViewState: BindableState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var accessSectionFooter: AttributedString? {
|
var accessSectionFooter: AttributedString? {
|
||||||
if (bindings.desiredSettings.accessType.isSpaceUsers &&
|
if (bindings.desiredSettings.accessType.isSpaceMembers &&
|
||||||
isSpaceMembersOptionSelectable) ||
|
isSpaceMembersOptionSelectable) ||
|
||||||
(bindings.desiredSettings.accessType.isAskToJoinWithSpaceUsers &&
|
(bindings.desiredSettings.accessType.isAskToJoinWithSpaceMembers &&
|
||||||
isAskToJoinWithSpaceMembersOptionSelectable),
|
isAskToJoinWithSpaceMembersOptionSelectable),
|
||||||
case .multiple = spaceSelection {
|
case .multiple = spaceSelection {
|
||||||
Self.accessSectionFooterAttributedString
|
Self.accessSectionFooterAttributedString
|
||||||
@@ -141,7 +141,7 @@ struct SecurityAndPrivacyScreenViewState: BindableState {
|
|||||||
} else if selectableSpacesCount > 1 {
|
} else if selectableSpacesCount > 1 {
|
||||||
.multiple
|
.multiple
|
||||||
} else if let joinedParent = joinedParentSpaces.first {
|
} else if let joinedParent = joinedParentSpaces.first {
|
||||||
if currentSettings.accessType.isSpaceUsers || currentSettings.accessType.isAskToJoinWithSpaceUsers {
|
if currentSettings.accessType.isSpaceMembers || currentSettings.accessType.isAskToJoinWithSpaceMembers {
|
||||||
if currentSettings.accessType.spaceIDs.isEmpty {
|
if currentSettings.accessType.spaceIDs.isEmpty {
|
||||||
// Edge case where the access type is already space members, but it does not contain any id
|
// Edge case where the access type is already space members, but it does not contain any id
|
||||||
// So if the user wants to add their own parent they need to do it from the selection menu
|
// So if the user wants to add their own parent they need to do it from the selection menu
|
||||||
@@ -197,22 +197,22 @@ struct SecurityAndPrivacySettings: Equatable {
|
|||||||
enum SecurityAndPrivacyRoomAccessType: Equatable {
|
enum SecurityAndPrivacyRoomAccessType: Equatable {
|
||||||
case inviteOnly
|
case inviteOnly
|
||||||
case askToJoin
|
case askToJoin
|
||||||
case askToJoinWithSpaceUsers(spaceIDs: [String])
|
case askToJoinWithSpaceMembers(spaceIDs: [String])
|
||||||
case anyone
|
case anyone
|
||||||
case spaceUsers(spaceIDs: [String])
|
case spaceMembers(spaceIDs: [String])
|
||||||
|
|
||||||
var isSpaceUsers: Bool {
|
var isSpaceMembers: Bool {
|
||||||
switch self {
|
switch self {
|
||||||
case .spaceUsers:
|
case .spaceMembers:
|
||||||
true
|
true
|
||||||
default:
|
default:
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var isAskToJoinWithSpaceUsers: Bool {
|
var isAskToJoinWithSpaceMembers: Bool {
|
||||||
switch self {
|
switch self {
|
||||||
case .askToJoinWithSpaceUsers:
|
case .askToJoinWithSpaceMembers:
|
||||||
true
|
true
|
||||||
default:
|
default:
|
||||||
false
|
false
|
||||||
@@ -221,16 +221,16 @@ enum SecurityAndPrivacyRoomAccessType: Equatable {
|
|||||||
|
|
||||||
var isAddressRequired: Bool {
|
var isAddressRequired: Bool {
|
||||||
switch self {
|
switch self {
|
||||||
case .inviteOnly, .spaceUsers:
|
case .inviteOnly, .spaceMembers:
|
||||||
false
|
false
|
||||||
case .anyone, .askToJoin, .askToJoinWithSpaceUsers:
|
case .anyone, .askToJoin, .askToJoinWithSpaceMembers:
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var spaceIDs: [String] {
|
var spaceIDs: [String] {
|
||||||
switch self {
|
switch self {
|
||||||
case .spaceUsers(let spaceIDs), .askToJoinWithSpaceUsers(let spaceIDs):
|
case .spaceMembers(let spaceIDs), .askToJoinWithSpaceMembers(let spaceIDs):
|
||||||
return spaceIDs
|
return spaceIDs
|
||||||
case .inviteOnly, .askToJoin, .anyone:
|
case .inviteOnly, .askToJoin, .anyone:
|
||||||
return []
|
return []
|
||||||
|
|||||||
+12
-12
@@ -81,7 +81,7 @@ class SecurityAndPrivacyScreenViewModel: SecurityAndPrivacyScreenViewModelType,
|
|||||||
case .selectedSpaceMembersAccess:
|
case .selectedSpaceMembersAccess:
|
||||||
handleSelectedSpaceMembersAccess()
|
handleSelectedSpaceMembersAccess()
|
||||||
case .manageSpaces:
|
case .manageSpaces:
|
||||||
displayManageAuthorizedSpacesScreen(isAskToJoin: state.bindings.desiredSettings.accessType.isAskToJoinWithSpaceUsers)
|
displayManageAuthorizedSpacesScreen(isAskToJoin: state.bindings.desiredSettings.accessType.isAskToJoinWithSpaceMembers)
|
||||||
case .selectedAskToJoinWithSpaceMembersAccess:
|
case .selectedAskToJoinWithSpaceMembersAccess:
|
||||||
handleSelectedAskToJoinWithSpaceMembersAccess()
|
handleSelectedAskToJoinWithSpaceMembersAccess()
|
||||||
}
|
}
|
||||||
@@ -237,16 +237,16 @@ class SecurityAndPrivacyScreenViewModel: SecurityAndPrivacyScreenViewModelType,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func handleSelectedSpaceMembersAccess() {
|
private func handleSelectedSpaceMembersAccess() {
|
||||||
guard !state.bindings.desiredSettings.accessType.isSpaceUsers else {
|
guard !state.bindings.desiredSettings.accessType.isSpaceMembers else {
|
||||||
// If the user is tapping the space members access again we do nothing
|
// If the user is tapping the space members access again we do nothing
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
switch state.spaceSelection {
|
switch state.spaceSelection {
|
||||||
case .singleJoined(let joinedParent):
|
case .singleJoined(let joinedParent):
|
||||||
state.bindings.desiredSettings.accessType = .spaceUsers(spaceIDs: [joinedParent.id])
|
state.bindings.desiredSettings.accessType = .spaceMembers(spaceIDs: [joinedParent.id])
|
||||||
case .singleUnknown(let id):
|
case .singleUnknown(let id):
|
||||||
state.bindings.desiredSettings.accessType = .spaceUsers(spaceIDs: [id])
|
state.bindings.desiredSettings.accessType = .spaceMembers(spaceIDs: [id])
|
||||||
case .empty:
|
case .empty:
|
||||||
break // Very edge case. We do nothing in this case.
|
break // Very edge case. We do nothing in this case.
|
||||||
case .multiple:
|
case .multiple:
|
||||||
@@ -255,16 +255,16 @@ class SecurityAndPrivacyScreenViewModel: SecurityAndPrivacyScreenViewModelType,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func handleSelectedAskToJoinWithSpaceMembersAccess() {
|
private func handleSelectedAskToJoinWithSpaceMembersAccess() {
|
||||||
guard !state.bindings.desiredSettings.accessType.isAskToJoinWithSpaceUsers else {
|
guard !state.bindings.desiredSettings.accessType.isAskToJoinWithSpaceMembers else {
|
||||||
// If the user is tapping the ask to join with space members access again we do nothing
|
// If the user is tapping the ask to join with space members access again we do nothing
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
switch state.spaceSelection {
|
switch state.spaceSelection {
|
||||||
case .singleJoined(let joinedParent):
|
case .singleJoined(let joinedParent):
|
||||||
state.bindings.desiredSettings.accessType = .askToJoinWithSpaceUsers(spaceIDs: [joinedParent.id])
|
state.bindings.desiredSettings.accessType = .askToJoinWithSpaceMembers(spaceIDs: [joinedParent.id])
|
||||||
case .singleUnknown(let id):
|
case .singleUnknown(let id):
|
||||||
state.bindings.desiredSettings.accessType = .askToJoinWithSpaceUsers(spaceIDs: [id])
|
state.bindings.desiredSettings.accessType = .askToJoinWithSpaceMembers(spaceIDs: [id])
|
||||||
case .empty:
|
case .empty:
|
||||||
break // Very edge case. We do nothing in this case.
|
break // Very edge case. We do nothing in this case.
|
||||||
case .multiple:
|
case .multiple:
|
||||||
@@ -284,7 +284,7 @@ class SecurityAndPrivacyScreenViewModel: SecurityAndPrivacyScreenViewModelType,
|
|||||||
authorizedSpacesSelection.selectedIDs
|
authorizedSpacesSelection.selectedIDs
|
||||||
.sink { [weak self] desiredSelectedIDs in
|
.sink { [weak self] desiredSelectedIDs in
|
||||||
let sortedIDs = desiredSelectedIDs.sorted()
|
let sortedIDs = desiredSelectedIDs.sorted()
|
||||||
self?.state.bindings.desiredSettings.accessType = isAskToJoin ? .askToJoinWithSpaceUsers(spaceIDs: sortedIDs) : .spaceUsers(spaceIDs: sortedIDs)
|
self?.state.bindings.desiredSettings.accessType = isAskToJoin ? .askToJoinWithSpaceMembers(spaceIDs: sortedIDs) : .spaceMembers(spaceIDs: sortedIDs)
|
||||||
}
|
}
|
||||||
.store(in: &cancellables)
|
.store(in: &cancellables)
|
||||||
|
|
||||||
@@ -314,9 +314,9 @@ private extension SecurityAndPrivacyRoomAccessType {
|
|||||||
.knock
|
.knock
|
||||||
case .anyone:
|
case .anyone:
|
||||||
.public
|
.public
|
||||||
case .spaceUsers(let spaceIDs):
|
case .spaceMembers(let spaceIDs):
|
||||||
.restricted(rules: spaceIDs.map { .roomMembership(roomId: $0) })
|
.restricted(rules: spaceIDs.map { .roomMembership(roomId: $0) })
|
||||||
case .askToJoinWithSpaceUsers(let spaceIDs):
|
case .askToJoinWithSpaceMembers(let spaceIDs):
|
||||||
.knockRestricted(rules: spaceIDs.map { .roomMembership(roomId: $0) })
|
.knockRestricted(rules: spaceIDs.map { .roomMembership(roomId: $0) })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -358,9 +358,9 @@ private extension Optional where Wrapped == JoinRule {
|
|||||||
case .knock:
|
case .knock:
|
||||||
return .askToJoin
|
return .askToJoin
|
||||||
case .knockRestricted(let rules):
|
case .knockRestricted(let rules):
|
||||||
return .askToJoinWithSpaceUsers(spaceIDs: Self.spaceIDs(from: rules))
|
return .askToJoinWithSpaceMembers(spaceIDs: Self.spaceIDs(from: rules))
|
||||||
case .restricted(let rules):
|
case .restricted(let rules):
|
||||||
return .spaceUsers(spaceIDs: Self.spaceIDs(from: rules))
|
return .spaceMembers(spaceIDs: Self.spaceIDs(from: rules))
|
||||||
default:
|
default:
|
||||||
return .inviteOnly
|
return .inviteOnly
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -55,7 +55,7 @@ struct SecurityAndPrivacyScreen: View {
|
|||||||
ListRow(label: .default(title: L10n.screenSecurityAndPrivacyRoomAccessSpaceMembersOptionTitle,
|
ListRow(label: .default(title: L10n.screenSecurityAndPrivacyRoomAccessSpaceMembersOptionTitle,
|
||||||
description: context.viewState.spaceMembersDescription,
|
description: context.viewState.spaceMembersDescription,
|
||||||
icon: \.space),
|
icon: \.space),
|
||||||
kind: .selection(isSelected: context.desiredSettings.accessType.isSpaceUsers) {
|
kind: .selection(isSelected: context.desiredSettings.accessType.isSpaceMembers) {
|
||||||
context.send(viewAction: .selectedSpaceMembersAccess)
|
context.send(viewAction: .selectedSpaceMembersAccess)
|
||||||
})
|
})
|
||||||
.disabled(!context.viewState.isSpaceMembersOptionSelectable)
|
.disabled(!context.viewState.isSpaceMembersOptionSelectable)
|
||||||
@@ -103,7 +103,7 @@ struct SecurityAndPrivacyScreen: View {
|
|||||||
ListRow(label: .default(title: L10n.screenSecurityAndPrivacyAskToJoinOptionTitle,
|
ListRow(label: .default(title: L10n.screenSecurityAndPrivacyAskToJoinOptionTitle,
|
||||||
description: context.viewState.askToJoinWithSpaceMembersDescription,
|
description: context.viewState.askToJoinWithSpaceMembersDescription,
|
||||||
icon: \.userAdd),
|
icon: \.userAdd),
|
||||||
kind: .selection(isSelected: context.desiredSettings.accessType.isAskToJoinWithSpaceUsers) { context.send(viewAction: .selectedAskToJoinWithSpaceMembersAccess) })
|
kind: .selection(isSelected: context.desiredSettings.accessType.isAskToJoinWithSpaceMembers) { context.send(viewAction: .selectedAskToJoinWithSpaceMembersAccess) })
|
||||||
.disabled(!context.viewState.isAskToJoinWithSpaceMembersOptionSelectable)
|
.disabled(!context.viewState.isAskToJoinWithSpaceMembersOptionSelectable)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
context.send(viewAction: .selectedSpaceMembersAccess)
|
context.send(viewAction: .selectedSpaceMembersAccess)
|
||||||
XCTAssertEqual(context.desiredSettings.accessType, .spaceUsers(spaceIDs: [space.id]))
|
XCTAssertEqual(context.desiredSettings.accessType, .spaceMembers(spaceIDs: [space.id]))
|
||||||
XCTAssertNil(context.viewState.accessSectionFooter)
|
XCTAssertNil(context.viewState.accessSectionFooter)
|
||||||
XCTAssertFalse(context.viewState.isSaveDisabled)
|
XCTAssertFalse(context.viewState.isSaveDisabled)
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
context.send(viewAction: .selectedAskToJoinWithSpaceMembersAccess)
|
context.send(viewAction: .selectedAskToJoinWithSpaceMembersAccess)
|
||||||
XCTAssertEqual(context.desiredSettings.accessType, .askToJoinWithSpaceUsers(spaceIDs: [space.id]))
|
XCTAssertEqual(context.desiredSettings.accessType, .askToJoinWithSpaceMembers(spaceIDs: [space.id]))
|
||||||
XCTAssertNil(context.viewState.accessSectionFooter)
|
XCTAssertNil(context.viewState.accessSectionFooter)
|
||||||
XCTAssertFalse(context.viewState.isSaveDisabled)
|
XCTAssertFalse(context.viewState.isSaveDisabled)
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
let deferred = deferFulfillment(context.$viewState) { $0.joinedParentSpaces.count == 0 }
|
let deferred = deferFulfillment(context.$viewState) { $0.joinedParentSpaces.count == 0 }
|
||||||
try await deferred.fulfill()
|
try await deferred.fulfill()
|
||||||
|
|
||||||
XCTAssertEqual(context.viewState.currentSettings.accessType, .spaceUsers(spaceIDs: [space.id]))
|
XCTAssertEqual(context.viewState.currentSettings.accessType, .spaceMembers(spaceIDs: [space.id]))
|
||||||
XCTAssertEqual(context.desiredSettings, context.viewState.currentSettings)
|
XCTAssertEqual(context.desiredSettings, context.viewState.currentSettings)
|
||||||
XCTAssertTrue(context.viewState.isSpaceMembersOptionSelectable)
|
XCTAssertTrue(context.viewState.isSpaceMembersOptionSelectable)
|
||||||
XCTAssertNil(context.viewState.accessSectionFooter)
|
XCTAssertNil(context.viewState.accessSectionFooter)
|
||||||
@@ -113,7 +113,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
context.send(viewAction: .selectedSpaceMembersAccess)
|
context.send(viewAction: .selectedSpaceMembersAccess)
|
||||||
XCTAssertTrue(context.viewState.isSaveDisabled)
|
XCTAssertTrue(context.viewState.isSaveDisabled)
|
||||||
XCTAssertEqual(context.desiredSettings.accessType, .spaceUsers(spaceIDs: [space.id]))
|
XCTAssertEqual(context.desiredSettings.accessType, .spaceMembers(spaceIDs: [space.id]))
|
||||||
guard case .singleUnknown = context.viewState.spaceSelection else {
|
guard case .singleUnknown = context.viewState.spaceSelection else {
|
||||||
XCTFail("Expected spaceSelection to be .singleUnknown")
|
XCTFail("Expected spaceSelection to be .singleUnknown")
|
||||||
return
|
return
|
||||||
@@ -150,7 +150,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
context.send(viewAction: .selectedSpaceMembersAccess)
|
context.send(viewAction: .selectedSpaceMembersAccess)
|
||||||
try await deferredAction.fulfill()
|
try await deferredAction.fulfill()
|
||||||
selectedIDs.send([spaces[0].id])
|
selectedIDs.send([spaces[0].id])
|
||||||
XCTAssertEqual(context.desiredSettings.accessType, .spaceUsers(spaceIDs: [spaces[0].id]))
|
XCTAssertEqual(context.desiredSettings.accessType, .spaceMembers(spaceIDs: [spaces[0].id]))
|
||||||
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
||||||
XCTAssertFalse(context.viewState.isSaveDisabled)
|
XCTAssertFalse(context.viewState.isSaveDisabled)
|
||||||
|
|
||||||
@@ -194,7 +194,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
context.send(viewAction: .selectedAskToJoinWithSpaceMembersAccess)
|
context.send(viewAction: .selectedAskToJoinWithSpaceMembersAccess)
|
||||||
try await deferredAction.fulfill()
|
try await deferredAction.fulfill()
|
||||||
selectedIDs.send([spaces[0].id])
|
selectedIDs.send([spaces[0].id])
|
||||||
XCTAssertEqual(context.desiredSettings.accessType, .askToJoinWithSpaceUsers(spaceIDs: [spaces[0].id]))
|
XCTAssertEqual(context.desiredSettings.accessType, .askToJoinWithSpaceMembers(spaceIDs: [spaces[0].id]))
|
||||||
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
||||||
XCTAssertFalse(context.viewState.isSaveDisabled)
|
XCTAssertFalse(context.viewState.isSaveDisabled)
|
||||||
|
|
||||||
@@ -216,7 +216,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
let deferred = deferFulfillment(context.$viewState) { $0.selectableSpacesCount == 4 }
|
let deferred = deferFulfillment(context.$viewState) { $0.selectableSpacesCount == 4 }
|
||||||
try await deferred.fulfill()
|
try await deferred.fulfill()
|
||||||
|
|
||||||
XCTAssertTrue(context.viewState.currentSettings.accessType.isSpaceUsers)
|
XCTAssertTrue(context.viewState.currentSettings.accessType.isSpaceMembers)
|
||||||
XCTAssertTrue(context.viewState.isSaveDisabled)
|
XCTAssertTrue(context.viewState.isSaveDisabled)
|
||||||
XCTAssertTrue(context.viewState.isSpaceMembersOptionSelectable)
|
XCTAssertTrue(context.viewState.isSpaceMembersOptionSelectable)
|
||||||
guard case .multiple = context.viewState.spaceSelection else {
|
guard case .multiple = context.viewState.spaceSelection else {
|
||||||
@@ -240,7 +240,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
context.send(viewAction: .manageSpaces)
|
context.send(viewAction: .manageSpaces)
|
||||||
try await deferredAction.fulfill()
|
try await deferredAction.fulfill()
|
||||||
selectedIDs.send([spaces[0].id, "unknownSpaceID"])
|
selectedIDs.send([spaces[0].id, "unknownSpaceID"])
|
||||||
XCTAssertEqual(context.desiredSettings.accessType, .spaceUsers(spaceIDs: [spaces[0].id, "unknownSpaceID"]))
|
XCTAssertEqual(context.desiredSettings.accessType, .spaceMembers(spaceIDs: [spaces[0].id, "unknownSpaceID"]))
|
||||||
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
||||||
XCTAssertFalse(context.viewState.isSaveDisabled)
|
XCTAssertFalse(context.viewState.isSaveDisabled)
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
let deferred = deferFulfillment(context.$viewState) { $0.selectableSpacesCount == 0 }
|
let deferred = deferFulfillment(context.$viewState) { $0.selectableSpacesCount == 0 }
|
||||||
try await deferred.fulfill()
|
try await deferred.fulfill()
|
||||||
|
|
||||||
XCTAssertTrue(context.viewState.currentSettings.accessType.isSpaceUsers)
|
XCTAssertTrue(context.viewState.currentSettings.accessType.isSpaceMembers)
|
||||||
XCTAssertTrue(context.viewState.isSaveDisabled)
|
XCTAssertTrue(context.viewState.isSaveDisabled)
|
||||||
XCTAssertFalse(context.viewState.isSpaceMembersOptionSelectable)
|
XCTAssertFalse(context.viewState.isSpaceMembersOptionSelectable)
|
||||||
XCTAssertNil(context.viewState.accessSectionFooter)
|
XCTAssertNil(context.viewState.accessSectionFooter)
|
||||||
@@ -283,7 +283,7 @@ class SecurityAndPrivacyScreenViewModelTests: XCTestCase {
|
|||||||
let deferred = deferFulfillment(context.$viewState) { $0.selectableSpacesCount == 1 }
|
let deferred = deferFulfillment(context.$viewState) { $0.selectableSpacesCount == 1 }
|
||||||
try await deferred.fulfill()
|
try await deferred.fulfill()
|
||||||
|
|
||||||
XCTAssertTrue(context.viewState.currentSettings.accessType.isSpaceUsers)
|
XCTAssertTrue(context.viewState.currentSettings.accessType.isSpaceMembers)
|
||||||
XCTAssertTrue(context.viewState.isSaveDisabled)
|
XCTAssertTrue(context.viewState.isSaveDisabled)
|
||||||
XCTAssertTrue(context.viewState.isSpaceMembersOptionSelectable)
|
XCTAssertTrue(context.viewState.isSpaceMembersOptionSelectable)
|
||||||
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
XCTAssertNotNil(context.viewState.accessSectionFooter)
|
||||||
|
|||||||
Reference in New Issue
Block a user