Accept and decline invites (#806)

* Add accept/decline invite api

* Fix isDirect logic

* Add logic for accepting/decling invites

* Add error handling structure

* Add decline alert

* Add navigation to joined room

* Add generic error

* Add changelog.d file

* Cleanup

* Fix failing UTs

* Add UTs

* Add UI tests

* Cleanup

* Update ref screenshots

* Refactor invitesScreen state

* Improve switch handling in UserSessionFlowCoordinator

* Fix build error
This commit is contained in:
Alfonso Grillo
2023-04-19 17:05:24 +02:00
committed by GitHub
parent 616b8453b5
commit 9921b315b3
21 changed files with 249 additions and 27 deletions
@@ -741,6 +741,40 @@ class RoomProxyMock: RoomProxyProtocol {
return inviterReturnValue
}
}
//MARK: - rejectInvitation
var rejectInvitationCallsCount = 0
var rejectInvitationCalled: Bool {
return rejectInvitationCallsCount > 0
}
var rejectInvitationReturnValue: Result<Void, RoomProxyError>!
var rejectInvitationClosure: (() async -> Result<Void, RoomProxyError>)?
func rejectInvitation() async -> Result<Void, RoomProxyError> {
rejectInvitationCallsCount += 1
if let rejectInvitationClosure = rejectInvitationClosure {
return await rejectInvitationClosure()
} else {
return rejectInvitationReturnValue
}
}
//MARK: - acceptInvitation
var acceptInvitationCallsCount = 0
var acceptInvitationCalled: Bool {
return acceptInvitationCallsCount > 0
}
var acceptInvitationReturnValue: Result<Void, RoomProxyError>!
var acceptInvitationClosure: (() async -> Result<Void, RoomProxyError>)?
func acceptInvitation() async -> Result<Void, RoomProxyError> {
acceptInvitationCallsCount += 1
if let acceptInvitationClosure = acceptInvitationClosure {
return await acceptInvitationClosure()
} else {
return acceptInvitationReturnValue
}
}
}
class SessionVerificationControllerProxyMock: SessionVerificationControllerProxyProtocol {
var callbacks: PassthroughSubject<SessionVerificationControllerProxyCallback, Never> {