updated SDK and improved report flow

the report flow is now based on the matrix version and the new one will only be used if the SDK checks if the server supports it.
This commit is contained in:
Mauro Romito
2025-04-29 17:43:56 +02:00
committed by Mauro
parent cad21daeea
commit 0f53ad6724
17 changed files with 82 additions and 48 deletions
@@ -304,7 +304,6 @@ class HomeScreenViewModelTests: XCTestCase {
func testDeclineInvite() async throws {
setupViewModel(withInvites: true)
let invitedRoomIDs = context.viewState.rooms.invites.compactMap(\.roomID)
appSettings.seenInvites = Set(invitedRoomIDs)
XCTAssertEqual(invitedRoomIDs.count, 2)
@@ -323,7 +322,7 @@ class HomeScreenViewModelTests: XCTestCase {
return .invited(roomProxy)
}
context.viewState.bindings.alertInfo?.secondaryButton?.action?()
context.viewState.bindings.alertInfo?.verticalButtons?[0].action?()
await fulfillment(of: [rejectExpectation], timeout: 1.0)
XCTAssertEqual(appSettings.seenInvites, [invitedRoomIDs[1]])
@@ -331,6 +330,21 @@ class HomeScreenViewModelTests: XCTestCase {
XCTAssertEqual(notificationManager.removeDeliveredMessageNotificationsForReceivedInvocations, [invitedRoomIDs[0]])
}
func testDeclineAndBlockInvite() async throws {
setupViewModel(withInvites: true)
let invitedRoomIDs = context.viewState.rooms.invites.compactMap(\.roomID)
appSettings.seenInvites = Set(invitedRoomIDs)
XCTAssertEqual(invitedRoomIDs.count, 2)
let deferred = deferFulfillment(context.$viewState) { $0.bindings.alertInfo != nil }
context.send(viewAction: .declineInvite(roomIdentifier: invitedRoomIDs[0]))
try await deferred.fulfill()
let deferredAction = deferFulfillment(viewModel.actions) { $0 == .presentDeclineAndBlock(userID: RoomMemberProxyMock.mockCharlie.userID, roomID: invitedRoomIDs[0]) }
context.viewState.bindings.alertInfo?.secondaryButton?.action?()
try await deferredAction.fulfill()
}
// MARK: - Helpers
private func setupViewModel(securityStatePublisher: CurrentValuePublisher<SessionSecurityState, Never>? = nil, withInvites: Bool = false) {