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 16f16b488f
commit b6ade2d4a9
17 changed files with 82 additions and 48 deletions

View File

@@ -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) {