Filters UI Update and ordering (#2521)

This commit is contained in:
Mauro
2024-03-04 18:32:59 +01:00
committed by GitHub
parent 5427fbe129
commit 4320e5c9e0
11 changed files with 114 additions and 51 deletions
@@ -47,8 +47,17 @@ final class RoomListFiltersStateTests: XCTestCase {
XCTAssertTrue(state.isFiltering)
XCTAssertEqual(state.activeFilters, [.people])
XCTAssertEqual(state.availableFilters, [.unreads, .favourites])
state.deactivateFilter(.people)
XCTAssertFalse(state.isFiltering)
XCTAssertEqual(state.activeFilters, [])
XCTAssertEqual(state.availableFilters, [.people, .unreads, .rooms, .favourites])
state.activateFilter(.rooms)
XCTAssertTrue(state.isFiltering)
XCTAssertEqual(state.activeFilters, [.rooms])
XCTAssertEqual(state.availableFilters, [.unreads, .favourites])
state.activateFilter(.unreads)
XCTAssertTrue(state.isFiltering)
XCTAssertEqual(state.activeFilters, [.rooms, .unreads])
@@ -57,14 +66,42 @@ final class RoomListFiltersStateTests: XCTestCase {
func testClearFilters() {
state.activateFilter(.people)
XCTAssertEqual(state.activeFilters, [.people])
XCTAssertEqual(state.availableFilters, [.unreads, .favourites])
state.activateFilter(.unreads)
XCTAssertEqual(state.activeFilters, [.people, .unreads])
XCTAssertEqual(state.availableFilters, [.favourites])
state.activateFilter(.favourites)
XCTAssertTrue(state.isFiltering)
XCTAssertEqual(state.activeFilters, [.people, .unreads, .favourites])
XCTAssertEqual(state.availableFilters, [])
state.clearFilters()
XCTAssertFalse(state.isFiltering)
XCTAssertEqual(state.activeFilters, [])
XCTAssertEqual(state.availableFilters, RoomListFilter.allCases)
XCTAssertEqual(state.availableFilters, [.people, .unreads, .favourites, .rooms])
}
func testOrder() {
state.activateFilter(.favourites)
XCTAssertEqual(state.activeFilters, [.favourites])
XCTAssertEqual(state.availableFilters, [.unreads, .people, .rooms])
state.deactivateFilter(.favourites)
XCTAssertEqual(state.activeFilters, [])
XCTAssertEqual(state.availableFilters, [.favourites, .unreads, .people, .rooms])
state.activateFilter(.rooms)
XCTAssertEqual(state.activeFilters, [.rooms])
XCTAssertEqual(state.availableFilters, [.favourites, .unreads])
state.activateFilter(.unreads)
XCTAssertEqual(state.activeFilters, [.rooms, .unreads])
XCTAssertEqual(state.availableFilters, [.favourites])
state.deactivateFilter(.unreads)
XCTAssertEqual(state.activeFilters, [.rooms])
XCTAssertEqual(state.availableFilters, [.unreads, .favourites])
}
}