MatrixUserRepo : fix tests
This commit is contained in:
parent
c6b3387b62
commit
109aea5ede
6 changed files with 45 additions and 30 deletions
|
|
@ -24,6 +24,7 @@ import io.element.android.libraries.designsystem.theme.components.SearchBarResul
|
|||
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
||||
import io.element.android.libraries.matrix.ui.components.aMatrixUserList
|
||||
import io.element.android.libraries.usersearch.api.UserSearchResult
|
||||
import io.element.android.libraries.usersearch.api.UserSearchResults
|
||||
import io.element.android.libraries.usersearch.test.FakeUserRepository
|
||||
import io.element.android.tests.testutils.WarmUpRule
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
|
@ -136,20 +137,33 @@ class DefaultUserListPresenterTests {
|
|||
skipItems(2)
|
||||
|
||||
// When the user repository emits a result, it's copied to the state
|
||||
userRepository.emitResult(listOf(UserSearchResult(aMatrixUser())))
|
||||
assertThat(awaitItem().searchResults).isEqualTo(
|
||||
SearchBarResultState.Results(
|
||||
persistentListOf(UserSearchResult(aMatrixUser()))
|
||||
)
|
||||
val result = UserSearchResults(
|
||||
results = listOf(UserSearchResult(aMatrixUser())),
|
||||
isFetchingSearchResults = false,
|
||||
)
|
||||
|
||||
userRepository.emitResult(result)
|
||||
awaitItem().also { state ->
|
||||
assertThat(state.searchResults).isEqualTo(
|
||||
SearchBarResultState.Results(
|
||||
persistentListOf(UserSearchResult(aMatrixUser()))
|
||||
)
|
||||
)
|
||||
assertThat(state.isFetchingSearchResults).isFalse()
|
||||
}
|
||||
// When the user repository emits another result, it replaces the previous value
|
||||
userRepository.emitResult(aMatrixUserList().map { UserSearchResult(it) })
|
||||
assertThat(awaitItem().searchResults).isEqualTo(
|
||||
SearchBarResultState.Results(
|
||||
aMatrixUserList().map { UserSearchResult(it) }
|
||||
)
|
||||
val newResult = UserSearchResults(
|
||||
results = aMatrixUserList().map { UserSearchResult(it) },
|
||||
isFetchingSearchResults = false,
|
||||
)
|
||||
userRepository.emitResult(newResult)
|
||||
awaitItem().also { state ->
|
||||
assertThat(state.searchResults).isEqualTo(
|
||||
SearchBarResultState.Results(
|
||||
aMatrixUserList().map { UserSearchResult(it) }
|
||||
)
|
||||
)
|
||||
assertThat(state.isFetchingSearchResults).isFalse()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -175,7 +189,7 @@ class DefaultUserListPresenterTests {
|
|||
skipItems(2)
|
||||
|
||||
// When the results list is empty, the state is set to NoResults
|
||||
userRepository.emitResult(emptyList())
|
||||
userRepository.emitResult(UserSearchResults(results = emptyList(), isFetchingSearchResults = false))
|
||||
assertThat(awaitItem().searchResults).isInstanceOf(SearchBarResultState.NoResultsFound::class.java)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue