#1098 - Stopped relying on the SDK in the suggestionService and added unit and ui tests.

This commit is contained in:
Stefan Ceriu
2021-10-06 14:42:48 +03:00
parent 71667de9b1
commit f8bd1ed5df
11 changed files with 294 additions and 268 deletions
@@ -28,12 +28,7 @@ enum MockUserSuggestionScreenState: MockScreenState, CaseIterable {
}
var screenView: ([Any], AnyView) {
let service: MockUserSuggestionService
switch self {
case .multipleResults:
service = MockUserSuggestionService(userCount: 10)
}
let service = UserSuggestionService(roomMembersProvider: self)
let listViewModel = UserSuggestionViewModel.makeUserSuggestionViewModel(userSuggestionService: service)
let viewModel = UserSuggestionListWithInputViewModel(listViewModel: listViewModel) { textMessage in
@@ -47,3 +42,17 @@ enum MockUserSuggestionScreenState: MockScreenState, CaseIterable {
)
}
}
@available(iOS 14.0, *)
extension MockUserSuggestionScreenState: RoomMembersProviderProtocol {
func fetchMembers(_ members: ([RoomMembersProviderMember]) -> Void) {
members(generateUsersWithCount(10))
}
private func generateUsersWithCount(_ count: UInt) -> [RoomMembersProviderMember] {
return (0..<count).map { _ in
let identifier = "@" + UUID().uuidString
return RoomMembersProviderMember(identifier: identifier, displayName: identifier, avatarURL: "mxc://matrix.org/VyNYAgahaiAzUoOeZETtQ")
}
}
}