mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Room List Filters implementation (#2423)
This commit is contained in:
@@ -25,10 +25,13 @@ class HomeScreenViewModelTests: XCTestCase {
|
||||
var clientProxy: MockClientProxy!
|
||||
var context: HomeScreenViewModelType.Context! { viewModel.context }
|
||||
var cancellables = Set<AnyCancellable>()
|
||||
var roomSummaryProvider: MockRoomSummaryProvider!
|
||||
|
||||
override func setUpWithError() throws {
|
||||
ServiceLocator.shared.settings.roomListFiltersEnabled = true
|
||||
cancellables.removeAll()
|
||||
clientProxy = MockClientProxy(userID: "@mock:client.com")
|
||||
roomSummaryProvider = MockRoomSummaryProvider(state: .loaded(.mockRooms))
|
||||
clientProxy = MockClientProxy(userID: "@mock:client.com", roomSummaryProvider: roomSummaryProvider)
|
||||
viewModel = HomeScreenViewModel(userSession: MockUserSession(clientProxy: clientProxy,
|
||||
mediaProvider: MockMediaProvider(),
|
||||
voiceMessageMediaManager: VoiceMessageMediaManagerMock()),
|
||||
@@ -37,6 +40,10 @@ class HomeScreenViewModelTests: XCTestCase {
|
||||
userIndicatorController: ServiceLocator.shared.userIndicatorController)
|
||||
}
|
||||
|
||||
override func tearDown() {
|
||||
AppSettings.reset()
|
||||
}
|
||||
|
||||
func testSelectRoom() async throws {
|
||||
let mockRoomId = "mock_room_id"
|
||||
var correctResult = false
|
||||
@@ -153,4 +160,14 @@ class HomeScreenViewModelTests: XCTestCase {
|
||||
XCTAssertNil(context.alertInfo)
|
||||
XCTAssertTrue(correctResult)
|
||||
}
|
||||
|
||||
func testFilters() async throws {
|
||||
context.viewState.filtersState.activateFilter(.people)
|
||||
try await Task.sleep(for: .milliseconds(100))
|
||||
XCTAssertEqual(roomSummaryProvider.currentFilter, RoomSummaryProviderFilter.include(.init(filters: [.people])))
|
||||
context.isSearchFieldFocused = true
|
||||
context.searchQuery = "Test"
|
||||
try await Task.sleep(for: .milliseconds(100))
|
||||
XCTAssertEqual(roomSummaryProvider.currentFilter, RoomSummaryProviderFilter.include(.init(query: "Test", filters: [.people])))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user