Rename isFetchingSearchResults to showSearchLoader
This commit is contained in:
parent
2f49de1fbb
commit
c78ce88c53
14 changed files with 50 additions and 50 deletions
|
|
@ -50,7 +50,7 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
fun SearchUserBar(
|
fun SearchUserBar(
|
||||||
query: String,
|
query: String,
|
||||||
state: SearchBarResultState<ImmutableList<UserSearchResult>>,
|
state: SearchBarResultState<ImmutableList<UserSearchResult>>,
|
||||||
isSearching: Boolean,
|
showLoader: Boolean,
|
||||||
selectedUsers: ImmutableList<MatrixUser>,
|
selectedUsers: ImmutableList<MatrixUser>,
|
||||||
active: Boolean,
|
active: Boolean,
|
||||||
isMultiSelectionEnabled: Boolean,
|
isMultiSelectionEnabled: Boolean,
|
||||||
|
|
@ -102,7 +102,7 @@ fun SearchUserBar(
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
contentSuffix = {
|
contentSuffix = {
|
||||||
if (isSearching) {
|
if (showLoader) {
|
||||||
AsyncLoading()
|
AsyncLoading()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ fun UserListView(
|
||||||
state = state.searchResults,
|
state = state.searchResults,
|
||||||
selectedUsers = state.selectedUsers,
|
selectedUsers = state.selectedUsers,
|
||||||
active = state.isSearchActive,
|
active = state.isSearchActive,
|
||||||
isSearching = state.isFetchingSearchResults,
|
showLoader = state.showSearchLoader,
|
||||||
isMultiSelectionEnabled = state.isMultiSelectionEnabled,
|
isMultiSelectionEnabled = state.isMultiSelectionEnabled,
|
||||||
showBackButton = showBackButton,
|
showBackButton = showBackButton,
|
||||||
onActiveChanged = { state.eventSink(UserListEvents.OnSearchActiveChanged(it)) },
|
onActiveChanged = { state.eventSink(UserListEvents.OnSearchActiveChanged(it)) },
|
||||||
|
|
|
||||||
|
|
@ -61,16 +61,16 @@ class DefaultUserListPresenter @AssistedInject constructor(
|
||||||
var searchResults: SearchBarResultState<ImmutableList<UserSearchResult>> by remember {
|
var searchResults: SearchBarResultState<ImmutableList<UserSearchResult>> by remember {
|
||||||
mutableStateOf(SearchBarResultState.Initial())
|
mutableStateOf(SearchBarResultState.Initial())
|
||||||
}
|
}
|
||||||
var isFetchingSearchResults by remember { mutableStateOf(false) }
|
var showSearchLoader by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
LaunchedEffect(searchQuery) {
|
LaunchedEffect(searchQuery) {
|
||||||
searchResults = SearchBarResultState.Initial()
|
searchResults = SearchBarResultState.Initial()
|
||||||
isFetchingSearchResults = false
|
showSearchLoader = false
|
||||||
userRepository.search(searchQuery).onEach { state ->
|
userRepository.search(searchQuery).onEach { state ->
|
||||||
isFetchingSearchResults = state.isFetchingSearchResults
|
showSearchLoader = state.isSearching
|
||||||
searchResults = when {
|
searchResults = when {
|
||||||
state.results.isEmpty() && state.isFetchingSearchResults -> SearchBarResultState.Initial()
|
state.results.isEmpty() && state.isSearching -> SearchBarResultState.Initial()
|
||||||
state.results.isEmpty() && !state.isFetchingSearchResults -> SearchBarResultState.NoResultsFound()
|
state.results.isEmpty() && !state.isSearching -> SearchBarResultState.NoResultsFound()
|
||||||
else -> SearchBarResultState.Results(state.results.toImmutableList())
|
else -> SearchBarResultState.Results(state.results.toImmutableList())
|
||||||
}
|
}
|
||||||
}.launchIn(this)
|
}.launchIn(this)
|
||||||
|
|
@ -81,7 +81,7 @@ class DefaultUserListPresenter @AssistedInject constructor(
|
||||||
searchResults = searchResults,
|
searchResults = searchResults,
|
||||||
selectedUsers = selectedUsers.toImmutableList(),
|
selectedUsers = selectedUsers.toImmutableList(),
|
||||||
isSearchActive = isSearchActive,
|
isSearchActive = isSearchActive,
|
||||||
isFetchingSearchResults = isFetchingSearchResults,
|
showSearchLoader = showSearchLoader,
|
||||||
selectionMode = args.selectionMode,
|
selectionMode = args.selectionMode,
|
||||||
eventSink = { event ->
|
eventSink = { event ->
|
||||||
when (event) {
|
when (event) {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
data class UserListState(
|
data class UserListState(
|
||||||
val searchQuery: String,
|
val searchQuery: String,
|
||||||
val searchResults: SearchBarResultState<ImmutableList<UserSearchResult>>,
|
val searchResults: SearchBarResultState<ImmutableList<UserSearchResult>>,
|
||||||
val isFetchingSearchResults: Boolean,
|
val showSearchLoader: Boolean,
|
||||||
val selectedUsers: ImmutableList<MatrixUser>,
|
val selectedUsers: ImmutableList<MatrixUser>,
|
||||||
val isSearchActive: Boolean,
|
val isSearchActive: Boolean,
|
||||||
val selectionMode: SelectionMode,
|
val selectionMode: SelectionMode,
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ fun aUserListState() = UserListState(
|
||||||
searchResults = SearchBarResultState.Initial(),
|
searchResults = SearchBarResultState.Initial(),
|
||||||
selectedUsers = persistentListOf(),
|
selectedUsers = persistentListOf(),
|
||||||
selectionMode = SelectionMode.Single,
|
selectionMode = SelectionMode.Single,
|
||||||
isFetchingSearchResults = false,
|
showSearchLoader = false,
|
||||||
eventSink = {}
|
eventSink = {}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ class DefaultUserListPresenterTests {
|
||||||
// When the user repository emits a result, it's copied to the state
|
// When the user repository emits a result, it's copied to the state
|
||||||
val result = UserSearchResultState(
|
val result = UserSearchResultState(
|
||||||
results = listOf(UserSearchResult(aMatrixUser())),
|
results = listOf(UserSearchResult(aMatrixUser())),
|
||||||
isFetchingSearchResults = false,
|
isSearching = false,
|
||||||
)
|
)
|
||||||
userRepository.emitState(result)
|
userRepository.emitState(result)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
|
|
@ -148,12 +148,12 @@ class DefaultUserListPresenterTests {
|
||||||
persistentListOf(UserSearchResult(aMatrixUser()))
|
persistentListOf(UserSearchResult(aMatrixUser()))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assertThat(state.isFetchingSearchResults).isFalse()
|
assertThat(state.showSearchLoader).isFalse()
|
||||||
}
|
}
|
||||||
// When the user repository emits another result, it replaces the previous value
|
// When the user repository emits another result, it replaces the previous value
|
||||||
val newResult = UserSearchResultState(
|
val newResult = UserSearchResultState(
|
||||||
results = aMatrixUserList().map { UserSearchResult(it) },
|
results = aMatrixUserList().map { UserSearchResult(it) },
|
||||||
isFetchingSearchResults = false,
|
isSearching = false,
|
||||||
)
|
)
|
||||||
userRepository.emitState(newResult)
|
userRepository.emitState(newResult)
|
||||||
awaitItem().also { state ->
|
awaitItem().also { state ->
|
||||||
|
|
@ -162,7 +162,7 @@ class DefaultUserListPresenterTests {
|
||||||
aMatrixUserList().map { UserSearchResult(it) }
|
aMatrixUserList().map { UserSearchResult(it) }
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assertThat(state.isFetchingSearchResults).isFalse()
|
assertThat(state.showSearchLoader).isFalse()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -189,7 +189,7 @@ class DefaultUserListPresenterTests {
|
||||||
skipItems(2)
|
skipItems(2)
|
||||||
|
|
||||||
// When the results list is empty, the state is set to NoResults
|
// When the results list is empty, the state is set to NoResults
|
||||||
userRepository.emitState(UserSearchResultState(results = emptyList(), isFetchingSearchResults = false))
|
userRepository.emitState(UserSearchResultState(results = emptyList(), isSearching = false))
|
||||||
assertThat(awaitItem().searchResults).isInstanceOf(SearchBarResultState.NoResultsFound::class.java)
|
assertThat(awaitItem().searchResults).isInstanceOf(SearchBarResultState.NoResultsFound::class.java)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ class RoomInviteMembersPresenter @Inject constructor(
|
||||||
val searchResults = remember { mutableStateOf<SearchBarResultState<ImmutableList<InvitableUser>>>(SearchBarResultState.Initial()) }
|
val searchResults = remember { mutableStateOf<SearchBarResultState<ImmutableList<InvitableUser>>>(SearchBarResultState.Initial()) }
|
||||||
var searchQuery by rememberSaveable { mutableStateOf("") }
|
var searchQuery by rememberSaveable { mutableStateOf("") }
|
||||||
var searchActive by rememberSaveable { mutableStateOf(false) }
|
var searchActive by rememberSaveable { mutableStateOf(false) }
|
||||||
var isFetchingSearchResults = rememberSaveable { mutableStateOf(false) }
|
var showSearchLoader = rememberSaveable { mutableStateOf(false) }
|
||||||
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
fetchMembers(roomMembers)
|
fetchMembers(roomMembers)
|
||||||
|
|
@ -65,7 +65,7 @@ class RoomInviteMembersPresenter @Inject constructor(
|
||||||
searchResults = searchResults,
|
searchResults = searchResults,
|
||||||
roomMembers = roomMembers,
|
roomMembers = roomMembers,
|
||||||
selectedUsers = selectedUsers,
|
selectedUsers = selectedUsers,
|
||||||
isFetchingSearchResults = isFetchingSearchResults,
|
showSearchLoader = showSearchLoader,
|
||||||
searchQuery = searchQuery
|
searchQuery = searchQuery
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -76,7 +76,7 @@ class RoomInviteMembersPresenter @Inject constructor(
|
||||||
searchQuery = searchQuery,
|
searchQuery = searchQuery,
|
||||||
isSearchActive = searchActive,
|
isSearchActive = searchActive,
|
||||||
searchResults = searchResults.value,
|
searchResults = searchResults.value,
|
||||||
isFetchingSearchResults = isFetchingSearchResults.value,
|
showSearchLoader = showSearchLoader.value,
|
||||||
eventSink = {
|
eventSink = {
|
||||||
when (it) {
|
when (it) {
|
||||||
is RoomInviteMembersEvents.OnSearchActiveChanged -> {
|
is RoomInviteMembersEvents.OnSearchActiveChanged -> {
|
||||||
|
|
@ -126,18 +126,18 @@ class RoomInviteMembersPresenter @Inject constructor(
|
||||||
searchResults: MutableState<SearchBarResultState<ImmutableList<InvitableUser>>>,
|
searchResults: MutableState<SearchBarResultState<ImmutableList<InvitableUser>>>,
|
||||||
roomMembers: MutableState<AsyncData<ImmutableList<RoomMember>>>,
|
roomMembers: MutableState<AsyncData<ImmutableList<RoomMember>>>,
|
||||||
selectedUsers: MutableState<ImmutableList<MatrixUser>>,
|
selectedUsers: MutableState<ImmutableList<MatrixUser>>,
|
||||||
isFetchingSearchResults: MutableState<Boolean>,
|
showSearchLoader: MutableState<Boolean>,
|
||||||
searchQuery: String,
|
searchQuery: String,
|
||||||
) = withContext(coroutineDispatchers.io) {
|
) = withContext(coroutineDispatchers.io) {
|
||||||
searchResults.value = SearchBarResultState.Initial()
|
searchResults.value = SearchBarResultState.Initial()
|
||||||
isFetchingSearchResults.value = false
|
showSearchLoader.value = false
|
||||||
val joinedMembers = roomMembers.value.dataOrNull().orEmpty()
|
val joinedMembers = roomMembers.value.dataOrNull().orEmpty()
|
||||||
|
|
||||||
userRepository.search(searchQuery).onEach { state ->
|
userRepository.search(searchQuery).onEach { state ->
|
||||||
isFetchingSearchResults.value = state.isFetchingSearchResults
|
showSearchLoader.value = state.isSearching
|
||||||
searchResults.value = when {
|
searchResults.value = when {
|
||||||
state.results.isEmpty() && state.isFetchingSearchResults -> SearchBarResultState.Initial()
|
state.results.isEmpty() && state.isSearching -> SearchBarResultState.Initial()
|
||||||
state.results.isEmpty() && !state.isFetchingSearchResults -> SearchBarResultState.NoResultsFound()
|
state.results.isEmpty() && !state.isSearching -> SearchBarResultState.NoResultsFound()
|
||||||
else -> SearchBarResultState.Results(state.results.map { result ->
|
else -> SearchBarResultState.Results(state.results.map { result ->
|
||||||
val existingMembership = joinedMembers.firstOrNull { j -> j.userId == result.matrixUser.userId }?.membership
|
val existingMembership = joinedMembers.firstOrNull { j -> j.userId == result.matrixUser.userId }?.membership
|
||||||
val isJoined = existingMembership == RoomMembershipState.JOIN
|
val isJoined = existingMembership == RoomMembershipState.JOIN
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
data class RoomInviteMembersState(
|
data class RoomInviteMembersState(
|
||||||
val canInvite: Boolean,
|
val canInvite: Boolean,
|
||||||
val searchQuery: String,
|
val searchQuery: String,
|
||||||
val isFetchingSearchResults: Boolean,
|
val showSearchLoader: Boolean,
|
||||||
val searchResults: SearchBarResultState<ImmutableList<InvitableUser>>,
|
val searchResults: SearchBarResultState<ImmutableList<InvitableUser>>,
|
||||||
val selectedUsers: ImmutableList<MatrixUser>,
|
val selectedUsers: ImmutableList<MatrixUser>,
|
||||||
val isSearchActive: Boolean,
|
val isSearchActive: Boolean,
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ internal class RoomInviteMembersStateProvider : PreviewParameterProvider<RoomInv
|
||||||
InvitableUser(aMatrixUser("@alice:server.org"), isUnresolved = true),
|
InvitableUser(aMatrixUser("@alice:server.org"), isUnresolved = true),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
isFetchingSearchResults = true,
|
showSearchLoader = true,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ private fun aRoomInviteMembersState(
|
||||||
searchResults: SearchBarResultState<ImmutableList<InvitableUser>> = SearchBarResultState.Initial(),
|
searchResults: SearchBarResultState<ImmutableList<InvitableUser>> = SearchBarResultState.Initial(),
|
||||||
selectedUsers: ImmutableList<MatrixUser> = persistentListOf(),
|
selectedUsers: ImmutableList<MatrixUser> = persistentListOf(),
|
||||||
isSearchActive: Boolean = false,
|
isSearchActive: Boolean = false,
|
||||||
isFetchingSearchResults: Boolean = false,
|
showSearchLoader: Boolean = false,
|
||||||
): RoomInviteMembersState {
|
): RoomInviteMembersState {
|
||||||
return RoomInviteMembersState(
|
return RoomInviteMembersState(
|
||||||
canInvite = canInvite,
|
canInvite = canInvite,
|
||||||
|
|
@ -92,7 +92,7 @@ private fun aRoomInviteMembersState(
|
||||||
searchResults = searchResults,
|
searchResults = searchResults,
|
||||||
selectedUsers = selectedUsers,
|
selectedUsers = selectedUsers,
|
||||||
isSearchActive = isSearchActive,
|
isSearchActive = isSearchActive,
|
||||||
isFetchingSearchResults = isFetchingSearchResults,
|
showSearchLoader = showSearchLoader,
|
||||||
eventSink = {},
|
eventSink = {},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ fun RoomInviteMembersView(
|
||||||
RoomInviteMembersSearchBar(
|
RoomInviteMembersSearchBar(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
query = state.searchQuery,
|
query = state.searchQuery,
|
||||||
isSearching = state.isFetchingSearchResults,
|
showLoader = state.showSearchLoader,
|
||||||
selectedUsers = state.selectedUsers,
|
selectedUsers = state.selectedUsers,
|
||||||
state = state.searchResults,
|
state = state.searchResults,
|
||||||
active = state.isSearchActive,
|
active = state.isSearchActive,
|
||||||
|
|
@ -141,7 +141,7 @@ private fun RoomInviteMembersTopBar(
|
||||||
private fun RoomInviteMembersSearchBar(
|
private fun RoomInviteMembersSearchBar(
|
||||||
query: String,
|
query: String,
|
||||||
state: SearchBarResultState<ImmutableList<InvitableUser>>,
|
state: SearchBarResultState<ImmutableList<InvitableUser>>,
|
||||||
isSearching: Boolean,
|
showLoader: Boolean,
|
||||||
selectedUsers: ImmutableList<MatrixUser>,
|
selectedUsers: ImmutableList<MatrixUser>,
|
||||||
active: Boolean,
|
active: Boolean,
|
||||||
onActiveChanged: (Boolean) -> Unit,
|
onActiveChanged: (Boolean) -> Unit,
|
||||||
|
|
@ -171,7 +171,7 @@ private fun RoomInviteMembersSearchBar(
|
||||||
showBackButton = false,
|
showBackButton = false,
|
||||||
resultState = state,
|
resultState = state,
|
||||||
contentSuffix = {
|
contentSuffix = {
|
||||||
if (isSearching) {
|
if (showLoader) {
|
||||||
AsyncLoading()
|
AsyncLoading()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -110,15 +110,15 @@ internal class RoomInviteMembersPresenterTest {
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
initialState.eventSink(RoomInviteMembersEvents.UpdateSearchQuery("some query"))
|
initialState.eventSink(RoomInviteMembersEvents.UpdateSearchQuery("some query"))
|
||||||
assertThat(repository.providedQuery).isEqualTo("some query")
|
assertThat(repository.providedQuery).isEqualTo("some query")
|
||||||
repository.emitState(UserSearchResultState(results = emptyList(), isFetchingSearchResults = true))
|
repository.emitState(UserSearchResultState(results = emptyList(), isSearching = true))
|
||||||
consumeItemsUntilPredicate { it.isFetchingSearchResults }.last().also { state ->
|
consumeItemsUntilPredicate { it.showSearchLoader }.last().also { state ->
|
||||||
assertThat(state.searchResults).isInstanceOf(SearchBarResultState.Initial::class.java)
|
assertThat(state.searchResults).isInstanceOf(SearchBarResultState.Initial::class.java)
|
||||||
assertThat(state.isFetchingSearchResults).isTrue()
|
assertThat(state.showSearchLoader).isTrue()
|
||||||
}
|
}
|
||||||
repository.emitState(results = emptyList(), isFetchingSearchResults = false)
|
repository.emitState(results = emptyList(), isSearching = false)
|
||||||
consumeItemsUntilPredicate { !it.isFetchingSearchResults }.last().also { state ->
|
consumeItemsUntilPredicate { !it.showSearchLoader }.last().also { state ->
|
||||||
assertThat(state.searchResults).isInstanceOf(SearchBarResultState.NoResultsFound::class.java)
|
assertThat(state.searchResults).isInstanceOf(SearchBarResultState.NoResultsFound::class.java)
|
||||||
assertThat(state.isFetchingSearchResults).isFalse()
|
assertThat(state.showSearchLoader).isFalse()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -387,21 +387,21 @@ internal class RoomInviteMembersPresenterTest {
|
||||||
|
|
||||||
private suspend fun FakeUserRepository.emitStateWithUsers(
|
private suspend fun FakeUserRepository.emitStateWithUsers(
|
||||||
users: List<MatrixUser>,
|
users: List<MatrixUser>,
|
||||||
isFetchingSearchResults: Boolean = false
|
isSearching: Boolean = false
|
||||||
) {
|
) {
|
||||||
emitState(
|
emitState(
|
||||||
results = users.map { UserSearchResult(it) },
|
results = users.map { UserSearchResult(it) },
|
||||||
isFetchingSearchResults = isFetchingSearchResults,
|
isSearching = isSearching,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun FakeUserRepository.emitState(
|
private suspend fun FakeUserRepository.emitState(
|
||||||
results: List<UserSearchResult>,
|
results: List<UserSearchResult>,
|
||||||
isFetchingSearchResults: Boolean = false
|
isSearching: Boolean = false
|
||||||
) {
|
) {
|
||||||
val state = UserSearchResultState(
|
val state = UserSearchResultState(
|
||||||
results = results,
|
results = results,
|
||||||
isFetchingSearchResults = isFetchingSearchResults
|
isSearching = isSearching
|
||||||
)
|
)
|
||||||
emitState(state)
|
emitState(state)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,5 +25,5 @@ data class UserSearchResult(
|
||||||
|
|
||||||
data class UserSearchResultState(
|
data class UserSearchResultState(
|
||||||
val results: List<UserSearchResult>,
|
val results: List<UserSearchResult>,
|
||||||
val isFetchingSearchResults: Boolean,
|
val isSearching: Boolean,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ class MatrixUserRepository @Inject constructor(
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
if (shouldQueryProfile || shouldFetchSearchResults) {
|
if (shouldQueryProfile || shouldFetchSearchResults) {
|
||||||
emit(UserSearchResultState(isFetchingSearchResults = shouldFetchSearchResults, results = listOfNotNull(fakeSearchResult)))
|
emit(UserSearchResultState(isSearching = shouldFetchSearchResults, results = listOfNotNull(fakeSearchResult)))
|
||||||
}
|
}
|
||||||
if (shouldFetchSearchResults) {
|
if (shouldFetchSearchResults) {
|
||||||
val results = fetchSearchResults(query, shouldQueryProfile)
|
val results = fetchSearchResults(query, shouldQueryProfile)
|
||||||
|
|
@ -73,7 +73,7 @@ class MatrixUserRepository @Inject constructor(
|
||||||
?: UserSearchResult(MatrixUser(UserId(query)), isUnresolved = true))
|
?: UserSearchResult(MatrixUser(UserId(query)), isUnresolved = true))
|
||||||
}
|
}
|
||||||
|
|
||||||
return UserSearchResultState(results = results, isFetchingSearchResults = false)
|
return UserSearchResultState(results = results, isSearching = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
||||||
|
|
@ -55,11 +55,11 @@ internal class MatrixUserRepositoryTest {
|
||||||
|
|
||||||
result.test {
|
result.test {
|
||||||
awaitItem().also {
|
awaitItem().also {
|
||||||
assertThat(it.isFetchingSearchResults).isTrue()
|
assertThat(it.isSearching).isTrue()
|
||||||
assertThat(it.results).isEmpty()
|
assertThat(it.results).isEmpty()
|
||||||
}
|
}
|
||||||
awaitItem().also {
|
awaitItem().also {
|
||||||
assertThat(it.isFetchingSearchResults).isFalse()
|
assertThat(it.isSearching).isFalse()
|
||||||
assertThat(it.results).isEmpty()
|
assertThat(it.results).isEmpty()
|
||||||
}
|
}
|
||||||
awaitComplete()
|
awaitComplete()
|
||||||
|
|
@ -76,11 +76,11 @@ internal class MatrixUserRepositoryTest {
|
||||||
|
|
||||||
result.test {
|
result.test {
|
||||||
awaitItem().also {
|
awaitItem().also {
|
||||||
assertThat(it.isFetchingSearchResults).isTrue()
|
assertThat(it.isSearching).isTrue()
|
||||||
assertThat(it.results).isEmpty()
|
assertThat(it.results).isEmpty()
|
||||||
}
|
}
|
||||||
awaitItem().also {
|
awaitItem().also {
|
||||||
assertThat(it.isFetchingSearchResults).isFalse()
|
assertThat(it.isSearching).isFalse()
|
||||||
assertThat(it.results).isEqualTo(aMatrixUserList().toUserSearchResults())
|
assertThat(it.results).isEqualTo(aMatrixUserList().toUserSearchResults())
|
||||||
}
|
}
|
||||||
awaitComplete()
|
awaitComplete()
|
||||||
|
|
@ -96,7 +96,7 @@ internal class MatrixUserRepositoryTest {
|
||||||
|
|
||||||
result.test {
|
result.test {
|
||||||
awaitItem().also {
|
awaitItem().also {
|
||||||
assertThat(it.isFetchingSearchResults).isTrue()
|
assertThat(it.isSearching).isTrue()
|
||||||
assertThat(it.results).isEqualTo(listOf(placeholderResult()))
|
assertThat(it.results).isEqualTo(listOf(placeholderResult()))
|
||||||
}
|
}
|
||||||
cancelAndConsumeRemainingEvents()
|
cancelAndConsumeRemainingEvents()
|
||||||
|
|
@ -112,7 +112,7 @@ internal class MatrixUserRepositoryTest {
|
||||||
|
|
||||||
result.test {
|
result.test {
|
||||||
awaitItem().also {
|
awaitItem().also {
|
||||||
assertThat(it.isFetchingSearchResults).isTrue()
|
assertThat(it.isSearching).isTrue()
|
||||||
assertThat(it.results).isEmpty()
|
assertThat(it.results).isEmpty()
|
||||||
}
|
}
|
||||||
cancelAndConsumeRemainingEvents()
|
cancelAndConsumeRemainingEvents()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue