Replace the old MockUserSession with the generated UserSessionMock

This commit is contained in:
Stefan Ceriu
2024-05-27 14:44:15 +03:00
committed by Stefan Ceriu
parent a126715ba0
commit 3a904ebc9d
65 changed files with 220 additions and 259 deletions
@@ -30,7 +30,7 @@ final class CompletionSuggestionServiceTests: XCTestCase {
func testUserSuggestions() async throws {
let alice: RoomMemberProxyMock = .mockAlice
let members: [RoomMemberProxyMock] = [alice, .mockBob, .mockCharlie, .mockMe]
let roomProxyMock = RoomProxyMock(with: .init(name: "test", members: members))
let roomProxyMock = RoomProxyMock(.init(name: "test", members: members))
let service = CompletionSuggestionService(roomProxy: roomProxyMock)
var deferred = deferFulfillment(service.suggestionsPublisher) { suggestions in
@@ -67,7 +67,7 @@ final class CompletionSuggestionServiceTests: XCTestCase {
func testUserSuggestionsIncludingAllUsers() async throws {
let alice: RoomMemberProxyMock = .mockAlice
let members: [RoomMemberProxyMock] = [alice, .mockBob, .mockCharlie, .mockMe]
let roomProxyMock = RoomProxyMock(with: .init(name: "test", members: members, canUserTriggerRoomNotification: true))
let roomProxyMock = RoomProxyMock(.init(name: "test", members: members, canUserTriggerRoomNotification: true))
let service = CompletionSuggestionService(roomProxy: roomProxyMock)
var deferred = deferFulfillment(service.suggestionsPublisher) { suggestions in
@@ -93,7 +93,7 @@ final class CompletionSuggestionServiceTests: XCTestCase {
let alice: RoomMemberProxyMock = .mockAlice
let bob: RoomMemberProxyMock = .mockBob
let members: [RoomMemberProxyMock] = [alice, bob, .mockMe]
let roomProxyMock = RoomProxyMock(with: .init(name: "test", members: members, canUserTriggerRoomNotification: true))
let roomProxyMock = RoomProxyMock(.init(name: "test", members: members, canUserTriggerRoomNotification: true))
let service = CompletionSuggestionService(roomProxy: roomProxyMock)
var deferred = deferFulfillment(service.suggestionsPublisher) { suggestions in
@@ -23,7 +23,7 @@ import XCTest
class CreateRoomScreenViewModelTests: XCTestCase {
var viewModel: CreateRoomViewModelProtocol!
var clientProxy: ClientProxyMock!
var userSession: MockUserSession!
var userSession: UserSessionMock!
private let usersSubject = CurrentValueSubject<[UserProfileProxy], Never>([])
private var cancellables = Set<AnyCancellable>()
@@ -35,9 +35,7 @@ class CreateRoomScreenViewModelTests: XCTestCase {
override func setUpWithError() throws {
cancellables.removeAll()
clientProxy = ClientProxyMock(.init(userID: "@a:b.com"))
userSession = MockUserSession(clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock())
userSession = UserSessionMock(.init(clientProxy: clientProxy))
let parameters = CreateRoomFlowParameters()
usersSubject.send([.mockAlice, .mockBob, .mockCharlie])
let viewModel = CreateRoomViewModel(userSession: userSession,
@@ -31,9 +31,7 @@ class HomeScreenViewModelTests: XCTestCase {
cancellables.removeAll()
roomSummaryProvider = RoomSummaryProviderMock(.init(state: .loaded(.mockRooms)))
clientProxy = ClientProxyMock(.init(userID: "@mock:client.com", roomSummaryProvider: roomSummaryProvider))
viewModel = HomeScreenViewModel(userSession: MockUserSession(clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock()),
viewModel = HomeScreenViewModel(userSession: UserSessionMock(.init(clientProxy: clientProxy)),
analyticsService: ServiceLocator.shared.analytics,
appSettings: ServiceLocator.shared.settings,
selectedRoomPublisher: CurrentValueSubject<String?, Never>(nil).asCurrentValuePublisher(),
@@ -89,7 +87,7 @@ class HomeScreenViewModelTests: XCTestCase {
func testLeaveRoomAlert() async throws {
let mockRoomId = "1"
clientProxy.roomForIdentifierClosure = { _ in RoomProxyMock(with: .init(id: mockRoomId, name: "Some room")) }
clientProxy.roomForIdentifierClosure = { _ in RoomProxyMock(.init(id: mockRoomId, name: "Some room")) }
let deferred = deferFulfillment(context.$viewState) { value in
value.bindings.leaveRoomAlertItem != nil
@@ -104,7 +102,7 @@ class HomeScreenViewModelTests: XCTestCase {
func testLeaveRoomError() async throws {
let mockRoomId = "1"
let room: RoomProxyMock = .init(with: .init(id: mockRoomId, name: "Some room"))
let room = RoomProxyMock(.init(id: mockRoomId, name: "Some room"))
room.leaveRoomClosure = { .failure(.sdkError(ClientProxyMockError.generic)) }
clientProxy.roomForIdentifierClosure = { _ in room }
@@ -135,7 +133,7 @@ class HomeScreenViewModelTests: XCTestCase {
expectation.fulfill()
}
.store(in: &cancellables)
let room: RoomProxyMock = .init(with: .init(id: mockRoomId, name: "Some room"))
let room = RoomProxyMock(.init(id: mockRoomId, name: "Some room"))
room.leaveRoomClosure = { .success(()) }
clientProxy.roomForIdentifierClosure = { _ in room }
@@ -64,7 +64,7 @@ class InviteUsersScreenViewModelTests: XCTestCase {
func testInviteButton() async throws {
let mockedMembers: [RoomMemberProxyMock] = [.mockAlice, .mockBob]
setupWithRoomType(roomType: .room(roomProxy: RoomProxyMock(with: .init(name: "test", members: mockedMembers))))
setupWithRoomType(roomType: .room(roomProxy: RoomProxyMock(.init(name: "test", members: mockedMembers))))
let deferredState = deferFulfillment(viewModel.context.$viewState) { state in
state.isUserSelected(.mockAlice)
@@ -32,7 +32,7 @@ class MessageForwardingScreenViewModelTests: XCTestCase {
cancellables.removeAll()
let clientProxy = ClientProxyMock(.init())
clientProxy.roomForIdentifierClosure = { RoomProxyMock(with: .init(id: $0)) }
clientProxy.roomForIdentifierClosure = { RoomProxyMock(.init(id: $0)) }
viewModel = MessageForwardingScreenViewModel(forwardingItem: forwardingItem,
clientProxy: clientProxy,
@@ -24,9 +24,7 @@ import XCTest
final class NotificationManagerTests: XCTestCase {
var notificationManager: NotificationManager!
private let clientProxy = ClientProxyMock(.init(userID: "@test:user.net"))
private lazy var mockUserSession = MockUserSession(clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock())
private lazy var mockUserSession = UserSessionMock(.init(clientProxy: clientProxy))
private var notificationCenter: UserNotificationCenterMock!
private var authorizationStatusWasGranted = false
private var shouldDisplayInAppNotificationReturnValue = false
@@ -169,9 +167,7 @@ final class NotificationManagerTests: XCTestCase {
notificationCenter.authorizationStatusReturnValue = .authorized
notificationManager.delegate = self
notificationManager.setUserSession(MockUserSession(clientProxy: ClientProxyMock(),
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock()))
notificationManager.setUserSession(UserSessionMock(.init(clientProxy: ClientProxyMock(.init()))))
try await Task.sleep(for: .seconds(1))
XCTAssertFalse(authorizationStatusWasGranted)
@@ -188,9 +184,7 @@ final class NotificationManagerTests: XCTestCase {
expectation.fulfill()
}
notificationManager.setUserSession(MockUserSession(clientProxy: ClientProxyMock(),
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock()))
notificationManager.setUserSession(UserSessionMock(.init(clientProxy: ClientProxyMock(.init()))))
await fulfillment(of: [expectation])
XCTAssertTrue(authorizationStatusWasGranted)
@@ -31,9 +31,7 @@ class NotificationSettingsEditScreenViewModelTests: XCTestCase {
@MainActor override func setUpWithError() throws {
let clientProxy = ClientProxyMock(.init(userID: "@a:b.com"))
userSession = MockUserSession(clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock())
userSession = UserSessionMock(.init(clientProxy: clientProxy))
notificationSettingsProxy = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
notificationSettingsProxy.getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValue = .allMessages
}
+3 -3
View File
@@ -23,7 +23,7 @@ import XCTest
class PillContextTests: XCTestCase {
func testUser() async throws {
let id = "@test:matrix.org"
let proxyMock = RoomProxyMock(with: .init(name: "Test"))
let proxyMock = RoomProxyMock(.init(name: "Test"))
let subject = CurrentValueSubject<[RoomMemberProxyProtocol], Never>([])
proxyMock.membersPublisher = subject.asCurrentValuePublisher()
let mock = RoomScreenViewModel(roomProxy: proxyMock,
@@ -52,7 +52,7 @@ class PillContextTests: XCTestCase {
func testOwnUser() async throws {
let id = "@test:matrix.org"
let proxyMock = RoomProxyMock(with: .init(name: "Test", ownUserID: id))
let proxyMock = RoomProxyMock(.init(name: "Test", ownUserID: id))
let subject = CurrentValueSubject<[RoomMemberProxyProtocol], Never>([])
proxyMock.membersPublisher = subject.asCurrentValuePublisher()
let mock = RoomScreenViewModel(roomProxy: proxyMock,
@@ -74,7 +74,7 @@ class PillContextTests: XCTestCase {
let avatarURL = URL(string: "https://matrix.jpg")
let id = "test_room"
let displayName = "Test"
let proxyMock = RoomProxyMock(with: .init(id: id, name: displayName, avatarURL: avatarURL))
let proxyMock = RoomProxyMock(.init(id: id, name: displayName, avatarURL: avatarURL))
let mockController = MockRoomTimelineController()
mockController.roomProxy = proxyMock
let mock = RoomScreenViewModel(roomProxy: proxyMock,
@@ -25,7 +25,7 @@ class ReportContentScreenViewModelTests: XCTestCase {
func testReportContent() async throws {
// Given the report content view for some content.
let roomProxy = RoomProxyMock(with: .init(name: "test"))
let roomProxy = RoomProxyMock(.init(name: "test"))
roomProxy.reportContentReasonReturnValue = .success(())
let clientProxy = ClientProxyMock(.init())
let viewModel = ReportContentScreenViewModel(eventID: eventID,
@@ -54,7 +54,7 @@ class ReportContentScreenViewModelTests: XCTestCase {
func testReportIgnoringSender() async throws {
// Given the report content view for some content.
let roomProxy = RoomProxyMock(with: .init(name: "test"))
let roomProxy = RoomProxyMock(.init(name: "test"))
roomProxy.reportContentReasonReturnValue = .success(())
let clientProxy = ClientProxyMock(.init())
let viewModel = ReportContentScreenViewModel(eventID: eventID,
@@ -28,7 +28,7 @@ class RoomChangePermissionsScreenViewModelTests: XCTestCase {
}
override func setUp() {
roomProxy = RoomProxyMock(with: .init())
roomProxy = RoomProxyMock(.init())
viewModel = RoomChangePermissionsScreenViewModel(currentPermissions: .init(powerLevels: .mock),
group: .roomDetails,
roomProxy: roomProxy,
@@ -202,7 +202,7 @@ class RoomChangeRolesScreenViewModelTests: XCTestCase {
}
private func setupViewModel(mode: RoomMemberDetails.Role) {
roomProxy = RoomProxyMock(with: .init(members: .allMembersAsAdmin))
roomProxy = RoomProxyMock(.init(members: .allMembersAsAdmin))
viewModel = RoomChangeRolesScreenViewModel(mode: mode,
roomProxy: roomProxy,
mediaProvider: MockMediaProvider(),
@@ -119,7 +119,7 @@ class RoomDetailsEditScreenViewModelTests: XCTestCase {
private func setupViewModel(roomProxyConfiguration: RoomProxyMockConfiguration) {
userIndicatorController = UserIndicatorControllerMock.default
viewModel = .init(roomProxy: RoomProxyMock(with: roomProxyConfiguration),
viewModel = .init(roomProxy: RoomProxyMock(roomProxyConfiguration),
mediaProvider: MockMediaProvider(),
userIndicatorController: userIndicatorController)
}
@@ -31,7 +31,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
override func setUp() {
cancellables.removeAll()
roomProxyMock = RoomProxyMock(with: .init(name: "Test"))
roomProxyMock = RoomProxyMock(.init(name: "Test"))
notificationSettingsProxyMock = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
@@ -46,7 +46,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testLeaveRoomTappedWhenPublic() async throws {
let mockedMembers: [RoomMemberProxyMock] = [.mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isPublic: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isPublic: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -67,7 +67,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testLeaveRoomTappedWhenRoomNotPublic() async throws {
let mockedMembers: [RoomMemberProxyMock] = [.mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isPublic: false, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -89,7 +89,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testLeaveRoomTappedWithLessThanTwoMembers() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isPublic: false, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -141,7 +141,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testInitialDMDetailsState() async throws {
let recipient = RoomMemberProxyMock.mockDan
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -163,7 +163,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
let recipient = RoomMemberProxyMock.mockDan
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -196,7 +196,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
let clientProxy = ClientProxyMock(.init())
clientProxy.ignoreUserReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
@@ -228,7 +228,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testUnignoreSuccess() async throws {
let recipient = RoomMemberProxyMock.mockIgnored
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -261,7 +261,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
let clientProxy = ClientProxyMock(.init())
clientProxy.unignoreUserReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
@@ -292,10 +292,10 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testCannotInvitePeople() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test",
isPublic: true,
members: mockedMembers,
canUserInvite: false))
roomProxyMock = RoomProxyMock(.init(name: "Test",
isPublic: true,
members: mockedMembers,
canUserInvite: false))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -311,7 +311,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testInvitePeople() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, .mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isPublic: true, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isPublic: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -343,7 +343,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testCanEditAvatar() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, .mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock.canUserUserIDSendStateEventClosure = { _, event in
.success(event == .roomAvatar)
}
@@ -365,7 +365,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testCanEditName() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, .mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock.canUserUserIDSendStateEventClosure = { _, event in
.success(event == .roomName)
}
@@ -387,7 +387,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testCanEditTopic() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, .mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock.canUserUserIDSendStateEventClosure = { _, event in
.success(event == .roomTopic)
}
@@ -409,7 +409,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testCannotEditRoom() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, .mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: false, isPublic: false, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -428,7 +428,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testCannotEditDirectRoom() async {
let mockedMembers: [RoomMemberProxyMock] = [.mockMeAdmin, .mockBob, .mockAlice]
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isPublic: false, members: mockedMembers))
roomProxyMock = RoomProxyMock(.init(name: "Test", isDirect: true, isPublic: false, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MockMediaProvider(),
@@ -171,7 +171,7 @@ class RoomFlowCoordinatorTests: XCTestCase {
// "Join" the room
clientProxy.roomForIdentifierClosure = { _ in
RoomProxyMock(with: .init())
RoomProxyMock(.init())
}
try await process(route: .room(roomID: "InvitedRoomID", via: []))
@@ -201,7 +201,7 @@ class RoomFlowCoordinatorTests: XCTestCase {
// "Join" the room
clientProxy.roomForIdentifierClosure = { _ in
RoomProxyMock(with: .init())
RoomProxyMock(.init())
}
try await process(route: .room(roomID: "InvitedRoomID", via: []))
@@ -291,12 +291,6 @@ class RoomFlowCoordinatorTests: XCTestCase {
}
}
let mediaProvider = MockMediaProvider()
let voiceMessageMediaManager = VoiceMessageMediaManagerMock()
let userSession = MockUserSession(clientProxy: clientProxy,
mediaProvider: mediaProvider,
voiceMessageMediaManager: voiceMessageMediaManager)
let navigationSplitCoordinator = NavigationSplitCoordinator(placeholderCoordinator: PlaceholderScreenCoordinator())
navigationStackCoordinator = NavigationStackCoordinator()
navigationSplitCoordinator.setDetailCoordinator(navigationStackCoordinator)
@@ -309,7 +303,7 @@ class RoomFlowCoordinatorTests: XCTestCase {
}
roomFlowCoordinator = await RoomFlowCoordinator(roomID: roomID,
userSession: userSession,
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
isChildFlow: asChildFlow,
roomTimelineControllerFactory: timelineControllerFactory,
navigationStackCoordinator: navigationStackCoordinator,
@@ -26,7 +26,7 @@ class RoomMemberDetailsViewModelTests: XCTestCase {
var context: RoomMemberDetailsScreenViewModelType.Context { viewModel.context }
override func setUp() async throws {
roomProxyMock = RoomProxyMock(with: .init(name: ""))
roomProxyMock = RoomProxyMock(.init(name: ""))
roomProxyMock.getMemberUserIDClosure = { _ in
.success(self.roomMemberProxyMock)
@@ -286,7 +286,7 @@ class RoomMembersListScreenViewModelTests: XCTestCase {
}
private func setup(with members: [RoomMemberProxyMock]) {
roomProxy = RoomProxyMock(with: .init(name: "test", members: members))
roomProxy = RoomProxyMock(.init(name: "test", members: members))
viewModel = .init(roomProxy: roomProxy,
mediaProvider: MockMediaProvider(),
userIndicatorController: ServiceLocator.shared.userIndicatorController,
@@ -28,12 +28,12 @@ class RoomNotificationSettingsScreenViewModelTests: XCTestCase {
override func setUpWithError() throws {
cancellables.removeAll()
roomProxyMock = RoomProxyMock(with: .init(name: "Test"))
roomProxyMock = RoomProxyMock(.init(name: "Test"))
notificationSettingsProxyMock = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
}
func testInitialStateDefaultModeEncryptedRoom() async throws {
let roomProxyMock = RoomProxyMock(with: .init(name: "Test", isEncrypted: true))
let roomProxyMock = RoomProxyMock(.init(name: "Test", isEncrypted: true))
let notificationSettingsProxyMock = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
notificationSettingsProxyMock.getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValue = RoomNotificationSettingsProxyMock(with: .init(mode: .mentionsAndKeywordsOnly, isDefault: true))
@@ -55,7 +55,7 @@ class RoomNotificationSettingsScreenViewModelTests: XCTestCase {
}
func testInitialStateDefaultModeEncryptedRoomWithCanPushEncrypted() async throws {
let roomProxyMock = RoomProxyMock(with: .init(name: "Test", isEncrypted: true))
let roomProxyMock = RoomProxyMock(.init(name: "Test", isEncrypted: true))
let notificationSettingsProxyMock = NotificationSettingsProxyMock(with: .init(canPushEncryptedEvents: true))
notificationSettingsProxyMock.getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValue = RoomNotificationSettingsProxyMock(with: .init(mode: .mentionsAndKeywordsOnly, isDefault: true))
@@ -77,7 +77,7 @@ class RoomNotificationSettingsScreenViewModelTests: XCTestCase {
}
func testInitialStateDefaultModeUnencryptedRoom() async throws {
let roomProxyMock = RoomProxyMock(with: .init(name: "Test", isEncrypted: false))
let roomProxyMock = RoomProxyMock(.init(name: "Test", isEncrypted: false))
let notificationSettingsProxyMock = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
notificationSettingsProxyMock.getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValue = RoomNotificationSettingsProxyMock(with: .init(mode: .mentionsAndKeywordsOnly, isDefault: true))
@@ -83,7 +83,7 @@ class RoomRolesAndPermissionsScreenViewModelTests: XCTestCase {
}
private func setupViewModel(members: [RoomMemberProxyMock]) {
roomProxy = RoomProxyMock(with: .init(members: members))
roomProxy = RoomProxyMock(.init(members: members))
viewModel = RoomRolesAndPermissionsScreenViewModel(roomProxy: roomProxy,
userIndicatorController: UserIndicatorControllerMock(),
analytics: ServiceLocator.shared.analytics)
@@ -333,7 +333,7 @@ class RoomScreenViewModelTests: XCTestCase {
MockRoomTimelineController,
NotificationCenterMock) {
let notificationCenter = NotificationCenterMock()
let roomProxy = RoomProxyMock(with: .init(name: ""))
let roomProxy = RoomProxyMock(.init(name: ""))
let timelineProxy = TimelineProxyMock()
timelineProxy.underlyingActions = Empty(completeImmediately: false).eraseToAnyPublisher()
@@ -371,8 +371,7 @@ class RoomScreenViewModelTests: XCTestCase {
// When showing them in a timeline.
let timelineController = MockRoomTimelineController()
timelineController.timelineItems = [message]
let viewModel = RoomScreenViewModel(roomProxy: RoomProxyMock(with: .init(name: "",
members: [RoomMemberProxyMock.mockAlice, RoomMemberProxyMock.mockCharlie])),
let viewModel = RoomScreenViewModel(roomProxy: RoomProxyMock(.init(name: "", members: [RoomMemberProxyMock.mockAlice, RoomMemberProxyMock.mockCharlie])),
timelineController: timelineController,
mediaProvider: MockMediaProvider(),
mediaPlayerProvider: MediaPlayerProviderMock(),
@@ -396,7 +395,7 @@ class RoomScreenViewModelTests: XCTestCase {
private func makeViewModel(roomProxy: RoomProxyProtocol? = nil,
focussedEventID: String? = nil,
timelineController: RoomTimelineControllerProtocol) -> RoomScreenViewModel {
RoomScreenViewModel(roomProxy: roomProxy ?? RoomProxyMock(with: .init(name: "")),
RoomScreenViewModel(roomProxy: roomProxy ?? RoomProxyMock(.init(name: "")),
focussedEventID: focussedEventID,
timelineController: timelineController,
mediaProvider: MockMediaProvider(),
@@ -27,9 +27,7 @@ class SettingsScreenViewModelTests: XCTestCase {
@MainActor override func setUpWithError() throws {
cancellables.removeAll()
let userSession = MockUserSession(clientProxy: ClientProxyMock(.init(userID: "")),
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock())
let userSession = UserSessionMock(.init(clientProxy: ClientProxyMock(.init(userID: ""))))
viewModel = SettingsScreenViewModel(userSession: userSession, appSettings: ServiceLocator.shared.settings)
context = viewModel.context
}
@@ -32,9 +32,7 @@ class StartChatScreenViewModelTests: XCTestCase {
clientProxy = .init(.init(userID: ""))
userDiscoveryService = UserDiscoveryServiceMock()
userDiscoveryService.searchProfilesWithReturnValue = .success([])
let userSession = MockUserSession(clientProxy: clientProxy,
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock())
let userSession = UserSessionMock(.init(clientProxy: clientProxy))
viewModel = StartChatScreenViewModel(userSession: userSession,
analytics: ServiceLocator.shared.analytics,
userIndicatorController: UserIndicatorControllerMock(),
@@ -37,17 +37,12 @@ class UserSessionFlowCoordinatorTests: XCTestCase {
cancellables.removeAll()
clientProxy = ClientProxyMock(.init(userID: "hi@bob", roomSummaryProvider: RoomSummaryProviderMock(.init(state: .loaded(.mockRooms)))))
timelineControllerFactory = RoomTimelineControllerFactoryMock(configuration: .init())
let mediaProvider = MockMediaProvider()
let voiceMessageMediaManager = VoiceMessageMediaManagerMock()
let userSession = MockUserSession(clientProxy: clientProxy,
mediaProvider: mediaProvider,
voiceMessageMediaManager: voiceMessageMediaManager)
navigationRootCoordinator = NavigationRootCoordinator()
notificationManager = NotificationManagerMock()
userSessionFlowCoordinator = UserSessionFlowCoordinator(userSession: userSession,
userSessionFlowCoordinator = UserSessionFlowCoordinator(userSession: UserSessionMock(.init(clientProxy: clientProxy)),
navigationRootCoordinator: navigationRootCoordinator,
appLockService: AppLockServiceMock(),
bugReportService: BugReportServiceMock(),
@@ -31,9 +31,7 @@ class WaitlistScreenViewModelTests: XCTestCase {
XCTAssertNil(context.viewState.userSession, "No user session should be set on a new view model.")
XCTAssertTrue(context.viewState.isWaiting, "The view should start off in the waiting state.")
viewModel.update(userSession: MockUserSession(clientProxy: ClientProxyMock(.init(userID: "@alice:matrix.org")),
mediaProvider: MockMediaProvider(),
voiceMessageMediaManager: VoiceMessageMediaManagerMock()))
viewModel.update(userSession: UserSessionMock(.init(clientProxy: ClientProxyMock(.init(userID: "@alice:matrix.org")))))
XCTAssertNotNil(context.viewState.userSession, "The user session should have been updated.")
XCTAssertFalse(context.viewState.isWaiting, "The view should not be in the waiting state after setting a user session.")