mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Add call icon next to members in call (#5941)
* feat: add call icon next to members in call * feat: use matrix rtc room status for in-call * chore: revert xcodeproj change * chore: update preview tests * chore: Update ElementX.xcscheme * chore: undo room member status proxy --------- Co-authored-by: Kai <nankeen@users.noreply.github.com>
This commit is contained in:
@@ -54,6 +54,30 @@ struct RoomMembersListScreenViewModelTests {
|
||||
#expect(viewModel.state.visibleJoinedMembers == sortedMembers)
|
||||
}
|
||||
|
||||
@Test
|
||||
mutating func sortingCallParticipants() async throws {
|
||||
setup(members: [.mockAdmin, .mockFrank, .mockAlice],
|
||||
activeRoomCallParticipants: [RoomMemberProxyMock.mockFrank.userID])
|
||||
|
||||
let deferred = deferFulfillment(context.$viewState) { state in
|
||||
state.visibleJoinedMembers.count == 3
|
||||
}
|
||||
try await deferred.fulfill()
|
||||
|
||||
// Frank is in the call, so he should be sorted to the top despite having the lowest power level.
|
||||
let sortedMembers: [RoomMemberListScreenEntry] = [
|
||||
.init(member: .init(withProxy: RoomMemberProxyMock.mockFrank),
|
||||
verificationState: .notVerified,
|
||||
isInCall: true),
|
||||
.init(member: .init(withProxy: RoomMemberProxyMock.mockAdmin),
|
||||
verificationState: .notVerified),
|
||||
.init(member: .init(withProxy: RoomMemberProxyMock.mockAlice),
|
||||
verificationState: .notVerified)
|
||||
]
|
||||
|
||||
#expect(viewModel.state.visibleJoinedMembers == sortedMembers)
|
||||
}
|
||||
|
||||
@Test
|
||||
mutating func search() async throws {
|
||||
setup(members: [.mockAlice, .mockBob])
|
||||
@@ -293,8 +317,8 @@ struct RoomMembersListScreenViewModelTests {
|
||||
|
||||
// MARK: - Helpers
|
||||
|
||||
private mutating func setup(members: [RoomMemberProxyMock]) {
|
||||
roomProxy = JoinedRoomProxyMock(.init(name: "test", members: members))
|
||||
private mutating func setup(members: [RoomMemberProxyMock], activeRoomCallParticipants: [String] = []) {
|
||||
roomProxy = JoinedRoomProxyMock(.init(name: "test", activeRoomCallParticipants: activeRoomCallParticipants, members: members))
|
||||
viewModel = RoomMembersListScreenViewModel(userSession: UserSessionMock(.init()),
|
||||
roomProxy: roomProxy,
|
||||
userIndicatorController: UserIndicatorControllerMock(),
|
||||
|
||||
Reference in New Issue
Block a user