mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Add room's update publisher (#952)
* Add room update publisher * Cleanup * Update room’s title * Add refresh logic in RoomDetailsScreenViewModel * Fix UTs * Add UT * Update timeline listener in RoomProxy * Fix caching in LoadableAvatarImage * Cleanup * Update RoomProxy api * Inject room proxy in RoomScreenViewModel * Cleanup * Fix UTs
This commit is contained in:
@@ -419,6 +419,11 @@ class RoomProxyMock: RoomProxyProtocol {
|
||||
set(value) { underlyingMembersPublisher = value }
|
||||
}
|
||||
var underlyingMembersPublisher: AnyPublisher<[RoomMemberProxyProtocol], Never>!
|
||||
var updatesPublisher: AnyPublisher<TimelineDiff, Never> {
|
||||
get { return underlyingUpdatesPublisher }
|
||||
set(value) { underlyingUpdatesPublisher = value }
|
||||
}
|
||||
var underlyingUpdatesPublisher: AnyPublisher<TimelineDiff, Never>!
|
||||
var invitedMembersCount: UInt {
|
||||
get { return underlyingInvitedMembersCount }
|
||||
set(value) { underlyingInvitedMembersCount = value }
|
||||
@@ -477,39 +482,23 @@ class RoomProxyMock: RoomProxyProtocol {
|
||||
return loadDisplayNameForUserIdReturnValue
|
||||
}
|
||||
}
|
||||
//MARK: - addTimelineListener
|
||||
//MARK: - registerTimelineListenerIfNeeded
|
||||
|
||||
var addTimelineListenerListenerCallsCount = 0
|
||||
var addTimelineListenerListenerCalled: Bool {
|
||||
return addTimelineListenerListenerCallsCount > 0
|
||||
var registerTimelineListenerIfNeededCallsCount = 0
|
||||
var registerTimelineListenerIfNeededCalled: Bool {
|
||||
return registerTimelineListenerIfNeededCallsCount > 0
|
||||
}
|
||||
var addTimelineListenerListenerReceivedListener: TimelineListener?
|
||||
var addTimelineListenerListenerReceivedInvocations: [TimelineListener] = []
|
||||
var addTimelineListenerListenerReturnValue: Result<[TimelineItem], RoomProxyError>!
|
||||
var addTimelineListenerListenerClosure: ((TimelineListener) -> Result<[TimelineItem], RoomProxyError>)?
|
||||
var registerTimelineListenerIfNeededReturnValue: Result<[TimelineItem], RoomProxyError>!
|
||||
var registerTimelineListenerIfNeededClosure: (() -> Result<[TimelineItem], RoomProxyError>)?
|
||||
|
||||
func addTimelineListener(listener: TimelineListener) -> Result<[TimelineItem], RoomProxyError> {
|
||||
addTimelineListenerListenerCallsCount += 1
|
||||
addTimelineListenerListenerReceivedListener = listener
|
||||
addTimelineListenerListenerReceivedInvocations.append(listener)
|
||||
if let addTimelineListenerListenerClosure = addTimelineListenerListenerClosure {
|
||||
return addTimelineListenerListenerClosure(listener)
|
||||
func registerTimelineListenerIfNeeded() -> Result<[TimelineItem], RoomProxyError> {
|
||||
registerTimelineListenerIfNeededCallsCount += 1
|
||||
if let registerTimelineListenerIfNeededClosure = registerTimelineListenerIfNeededClosure {
|
||||
return registerTimelineListenerIfNeededClosure()
|
||||
} else {
|
||||
return addTimelineListenerListenerReturnValue
|
||||
return registerTimelineListenerIfNeededReturnValue
|
||||
}
|
||||
}
|
||||
//MARK: - removeTimelineListener
|
||||
|
||||
var removeTimelineListenerCallsCount = 0
|
||||
var removeTimelineListenerCalled: Bool {
|
||||
return removeTimelineListenerCallsCount > 0
|
||||
}
|
||||
var removeTimelineListenerClosure: (() -> Void)?
|
||||
|
||||
func removeTimelineListener() {
|
||||
removeTimelineListenerCallsCount += 1
|
||||
removeTimelineListenerClosure?()
|
||||
}
|
||||
//MARK: - paginateBackwards
|
||||
|
||||
var paginateBackwardsRequestSizeUntilNumberOfItemsCallsCount = 0
|
||||
|
||||
Reference in New Issue
Block a user