Cleanup proxy errors

- proxy errors have been getting repetitive and not particularly useful
- differentiate between sdk and client errors and keep what provides value
- add error logs everywhere a failure occurs
This commit is contained in:
Stefan Ceriu
2024-04-04 10:17:55 +03:00
committed by Stefan Ceriu
parent 3418d24557
commit c85c1593ee
16 changed files with 189 additions and 211 deletions
@@ -105,7 +105,7 @@ class HomeScreenViewModelTests: XCTestCase {
func testLeaveRoomError() async throws {
let mockRoomId = "1"
let room: RoomProxyMock = .init(with: .init(id: mockRoomId, name: "Some room"))
room.leaveRoomClosure = { .failure(.failedLeavingRoom) }
room.leaveRoomClosure = { .failure(.sdkError(ClientProxyMockError.generic)) }
clientProxy.roomForIdentifierClosure = { _ in room }
@@ -138,7 +138,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
defer {
expectation.fulfill()
}
return .failure(.failedLeavingRoom)
return .failure(.sdkError(ClientProxyMockError.generic))
}
context.send(viewAction: .confirmLeave)
await fulfillment(of: [expectation])
@@ -207,7 +207,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
let recipient = RoomMemberProxyMock.mockDan
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
let clientProxy = ClientProxyMock(.init())
clientProxy.ignoreUserReturnValue = .failure(.failedIgnoringUser)
clientProxy.ignoreUserReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: clientProxy,
@@ -276,7 +276,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
let recipient = RoomMemberProxyMock.mockIgnored
let mockedMembers: [RoomMemberProxyMock] = [.mockMe, recipient]
let clientProxy = ClientProxyMock(.init())
clientProxy.unignoreUserReturnValue = .failure(.failedUnignoringUser)
clientProxy.unignoreUserReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
roomProxyMock = RoomProxyMock(with: .init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: clientProxy,
@@ -87,7 +87,7 @@ class RoomMemberDetailsViewModelTests: XCTestCase {
func testIgnoreFailure() async throws {
roomMemberProxyMock = RoomMemberProxyMock.mockAlice
let clientProxy = ClientProxyMock(.init())
clientProxy.ignoreUserReturnValue = .failure(.failedIgnoringUser)
clientProxy.ignoreUserReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
viewModel = RoomMemberDetailsScreenViewModel(userID: roomMemberProxyMock.userID,
roomProxy: roomProxyMock,
clientProxy: clientProxy,
@@ -158,7 +158,7 @@ class RoomMemberDetailsViewModelTests: XCTestCase {
func testUnignoreFailure() async throws {
roomMemberProxyMock = RoomMemberProxyMock.mockIgnored
let clientProxy = ClientProxyMock(.init())
clientProxy.unignoreUserReturnValue = .failure(.failedUnignoringUser)
clientProxy.unignoreUserReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
viewModel = RoomMemberDetailsScreenViewModel(userID: roomMemberProxyMock.userID,
roomProxy: roomProxyMock,
clientProxy: clientProxy,
@@ -71,7 +71,7 @@ class UserDiscoveryServiceTest: XCTestCase {
}
func testLocalResultShowsOnSearchError() async {
clientProxy.searchUsersSearchTermLimitReturnValue = .failure(.failedSearchingUsers)
clientProxy.searchUsersSearchTermLimitReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
clientProxy.profileForReturnValue = .success(.init(userID: "@some:matrix.org"))
let results = await (try? search(query: "@a:b.com").get()) ?? []
@@ -81,7 +81,7 @@ class UserDiscoveryServiceTest: XCTestCase {
}
func testSearchErrorTriggers() async {
clientProxy.searchUsersSearchTermLimitReturnValue = .failure(.failedSearchingUsers)
clientProxy.searchUsersSearchTermLimitReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
clientProxy.profileForReturnValue = .success(.init(userID: "@some:matrix.org"))
switch await search(query: "some query") {
@@ -108,7 +108,7 @@ class UserDiscoveryServiceTest: XCTestCase {
func testSearchResultsShowWhenGetProfileFails() async {
clientProxy.searchUsersSearchTermLimitReturnValue = .success(.init(results: searchResults, limited: true))
clientProxy.profileForReturnValue = .failure(.failedGettingUserProfile)
clientProxy.profileForReturnValue = .failure(.sdkError(ClientProxyMockError.generic))
let results = await (try? search(query: "@a:b.com").get()) ?? []