Better integrate RoomPowerLevelsProxyMock's own Configuration struct.

This commit is contained in:
Stefan Ceriu
2025-06-20 16:43:39 +03:00
committed by Stefan Ceriu
parent 60f4228162
commit 46a066491d
9 changed files with 52 additions and 39 deletions

View File

@@ -60,7 +60,11 @@ final class CompletionSuggestionServiceTests: XCTestCase {
func testUserSuggestionsIncludingAllUsers() async throws {
let alice: RoomMemberProxyMock = .mockAlice
let members: [RoomMemberProxyMock] = [alice, .mockBob, .mockCharlie, .mockMe]
let roomProxyMock = JoinedRoomProxyMock(.init(id: "roomID", name: "test", members: members, canUserTriggerRoomNotification: true))
let roomProxyMock = JoinedRoomProxyMock(.init(id: "roomID",
name: "test",
members: members,
powerLevelsConfiguration: .init(canUserTriggerRoomNotification: true)))
let roomSummaryProvider = RoomSummaryProviderMock(.init(state: .loaded(.mockRooms)))
let service = CompletionSuggestionService(roomProxy: roomProxyMock,
roomListPublisher: roomSummaryProvider.roomListPublisher.eraseToAnyPublisher())
@@ -88,7 +92,10 @@ final class CompletionSuggestionServiceTests: XCTestCase {
let alice: RoomMemberProxyMock = .mockAlice
let bob: RoomMemberProxyMock = .mockBob
let members: [RoomMemberProxyMock] = [alice, bob, .mockMe]
let roomProxyMock = JoinedRoomProxyMock(.init(id: "roomID", name: "test", members: members, canUserTriggerRoomNotification: true))
let roomProxyMock = JoinedRoomProxyMock(.init(id: "roomID",
name: "test",
members: members,
powerLevelsConfiguration: .init(canUserTriggerRoomNotification: true)))
let roomSummaryProvider = RoomSummaryProviderMock(.init(state: .loaded(.mockRooms)))
let service = CompletionSuggestionService(roomProxy: roomProxyMock,
roomListPublisher: roomSummaryProvider.roomListPublisher.eraseToAnyPublisher())

View File

@@ -207,8 +207,8 @@ class KnockRequestsListScreenViewModelTests: XCTestCase {
KnockRequestProxyMock(.init(eventID: "2", userID: "@bob:matrix.org")),
KnockRequestProxyMock(.init(eventID: "3", userID: "@charlie:matrix.org")),
KnockRequestProxyMock(.init(eventID: "4", userID: "@dan:matrix.org"))]),
canUserInvite: false,
joinRule: .knock))
joinRule: .knock,
powerLevelsConfiguration: .init(canUserInvite: false)))
viewModel = KnockRequestsListScreenViewModel(roomProxy: roomProxyMock,
mediaProvider: MediaProviderMock(),
userIndicatorController: UserIndicatorControllerMock())

View File

@@ -303,7 +303,7 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test",
isPublic: true,
members: mockedMembers,
canUserInvite: false))
powerLevelsConfiguration: .init(canUserInvite: false)))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MediaProviderMock(configuration: .init()),
@@ -733,7 +733,12 @@ class RoomDetailsScreenViewModelTests: XCTestCase {
func testKnockRequestsCounterIsNotShownIfNoPermissions() async throws {
ServiceLocator.shared.settings.knockingEnabled = true
let mockedRequests: [KnockRequestProxyMock] = [.init(), .init()]
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, isPublic: false, knockRequestsState: .loaded(mockedRequests), canUserInvite: false, joinRule: .knock))
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test",
isDirect: false,
isPublic: false,
knockRequestsState: .loaded(mockedRequests),
joinRule: .knock,
powerLevelsConfiguration: .init(canUserInvite: false)))
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
clientProxy: ClientProxyMock(.init()),
mediaProvider: MediaProviderMock(configuration: .init()),

View File

@@ -370,8 +370,8 @@ class RoomScreenViewModelTests: XCTestCase {
func testKnockRequestsBannerDoesNotAppearIfUserHasNoPermission() async throws {
ServiceLocator.shared.settings.knockingEnabled = true
let roomProxyMock = JoinedRoomProxyMock(.init(knockRequestsState: .loaded([KnockRequestProxyMock(.init(eventID: "1", userID: "@alice:matrix.org", displayName: "Alice", reason: "Hello World!"))]),
canUserInvite: false,
joinRule: .knock))
joinRule: .knock,
powerLevelsConfiguration: .init(canUserInvite: false)))
let viewModel = RoomScreenViewModel(clientProxy: ClientProxyMock(),
roomProxy: roomProxyMock,
initialSelectedPinnedEventID: nil,

View File

@@ -494,7 +494,8 @@ class TimelineViewModelTests: XCTestCase {
}
func testCanUserPinEvents() async throws {
let configuration = JoinedRoomProxyMockConfiguration(name: "", canUserPin: true)
let configuration = JoinedRoomProxyMockConfiguration(name: "",
powerLevelsConfiguration: .init(canUserPin: true))
let roomProxyMock = JoinedRoomProxyMock(configuration)
let infoSubject = CurrentValueSubject<RoomInfoProxy, Never>(.init(roomInfo: RoomInfo(configuration)))
roomProxyMock.underlyingInfoPublisher = infoSubject.asCurrentValuePublisher()