mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Update UI test snapshots. (#4722)
* Update UI test snapshots. * Stop snapshotting the photo picker, just assert that it was presented. * Fix a swipe action not being detected in the UI tests. * Handle the split view properly on iPad when accepting a space invite. Fixes a test but also properly handles replacing a room with a space.
This commit is contained in:
@@ -47,7 +47,6 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
private var cancellables = Set<AnyCancellable>()
|
||||
|
||||
private let sidebarNavigationStackCoordinator: NavigationStackCoordinator
|
||||
private let detailNavigationStackCoordinator: NavigationStackCoordinator
|
||||
|
||||
private let selectedRoomSubject = CurrentValueSubject<String?, Never>(nil)
|
||||
|
||||
@@ -64,7 +63,6 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
self.flowParameters = flowParameters
|
||||
|
||||
sidebarNavigationStackCoordinator = NavigationStackCoordinator(navigationSplitCoordinator: navigationSplitCoordinator)
|
||||
detailNavigationStackCoordinator = NavigationStackCoordinator(navigationSplitCoordinator: navigationSplitCoordinator)
|
||||
navigationSplitCoordinator.setSidebarCoordinator(sidebarNavigationStackCoordinator)
|
||||
|
||||
setupStateMachine()
|
||||
@@ -272,6 +270,9 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
switch context.toState {
|
||||
case .roomList(detailState: .room(let detailStateRoomID)):
|
||||
self?.selectedRoomSubject.send(detailStateRoomID)
|
||||
case .roomList(detailState: .space):
|
||||
// We don't show joined spaces in the room list yet so clear the selected room when accepting a space invite.
|
||||
self?.selectedRoomSubject.send(nil)
|
||||
case .roomList(detailState: nil):
|
||||
self?.selectedRoomSubject.send(nil)
|
||||
default:
|
||||
@@ -472,9 +473,10 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
via: [String],
|
||||
entryPoint: RoomFlowCoordinatorEntryPoint,
|
||||
animated: Bool) {
|
||||
let navigationStackCoordinator = NavigationStackCoordinator(navigationSplitCoordinator: navigationSplitCoordinator)
|
||||
let coordinator = RoomFlowCoordinator(roomID: roomID,
|
||||
isChildFlow: false,
|
||||
navigationStackCoordinator: detailNavigationStackCoordinator,
|
||||
navigationStackCoordinator: navigationStackCoordinator,
|
||||
flowParameters: flowParameters)
|
||||
|
||||
coordinator.actions.sink { [weak self] action in
|
||||
@@ -495,9 +497,7 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
|
||||
roomFlowCoordinator = coordinator
|
||||
|
||||
if navigationSplitCoordinator.detailCoordinator !== detailNavigationStackCoordinator {
|
||||
navigationSplitCoordinator.setDetailCoordinator(detailNavigationStackCoordinator, animated: animated)
|
||||
}
|
||||
navigationSplitCoordinator.setDetailCoordinator(navigationStackCoordinator, animated: animated)
|
||||
|
||||
switch entryPoint {
|
||||
case .room:
|
||||
@@ -530,10 +530,11 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
// MARK: Space Flow
|
||||
|
||||
private func startSpaceFlow(spaceRoomListProxy: SpaceRoomListProxyProtocol, animated: Bool) {
|
||||
let navigationStackCoordinator = NavigationStackCoordinator(navigationSplitCoordinator: navigationSplitCoordinator)
|
||||
let coordinator = SpaceFlowCoordinator(entryPoint: .space(spaceRoomListProxy),
|
||||
spaceServiceProxy: userSession.clientProxy.spaceService,
|
||||
isChildFlow: false,
|
||||
navigationStackCoordinator: detailNavigationStackCoordinator,
|
||||
navigationStackCoordinator: navigationStackCoordinator,
|
||||
flowParameters: flowParameters)
|
||||
coordinator.actionsPublisher
|
||||
.sink { [weak self] action in
|
||||
@@ -551,9 +552,7 @@ class ChatsFlowCoordinator: FlowCoordinatorProtocol {
|
||||
|
||||
spaceFlowCoordinator = coordinator
|
||||
|
||||
if navigationSplitCoordinator.detailCoordinator !== detailNavigationStackCoordinator {
|
||||
navigationSplitCoordinator.setDetailCoordinator(detailNavigationStackCoordinator, animated: animated)
|
||||
}
|
||||
navigationSplitCoordinator.setDetailCoordinator(navigationStackCoordinator, animated: animated)
|
||||
|
||||
coordinator.start()
|
||||
}
|
||||
|
||||
@@ -154,8 +154,9 @@ class ChatsFlowCoordinatorStateMachine {
|
||||
switch (fromState, event) {
|
||||
case (.roomList, .selectRoom(let roomID, _, _)):
|
||||
return .roomList(detailState: .room(roomID: roomID))
|
||||
case (.roomList, .deselectRoom):
|
||||
return .roomList(detailState: nil)
|
||||
case (.roomList(let detailState), .deselectRoom):
|
||||
// Ignore the flow's dismissal if it has already been replaced with a space.
|
||||
return detailState == .space ? nil : .roomList(detailState: nil)
|
||||
|
||||
case (.roomList, .startSpaceFlow):
|
||||
return .roomList(detailState: .space)
|
||||
|
||||
Reference in New Issue
Block a user