From 96302da97c22e18e7848237886452e86857bdce7 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 5 Jan 2024 15:12:31 +0100 Subject: [PATCH] Fix MatrixUserRepositoryTest --- .../usersearch/impl/MatrixUserRepository.kt | 2 +- .../impl/MatrixUserRepositoryTest.kt | 45 ++++++++++++++----- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/libraries/usersearch/impl/src/main/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepository.kt b/libraries/usersearch/impl/src/main/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepository.kt index 431f452cd9..02a03f8be4 100644 --- a/libraries/usersearch/impl/src/main/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepository.kt +++ b/libraries/usersearch/impl/src/main/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepository.kt @@ -42,7 +42,7 @@ class MatrixUserRepository @Inject constructor( val shouldFetchSearchResults = query.length >= MINIMUM_SEARCH_LENGTH // If the search term is a MXID that's not ours, we'll show a 'fake' result for that user, then update it when we get search results. val fakeSearchResult = if (shouldQueryProfile) { - UserSearchResult(MatrixUser(UserId(query)), isUnresolved = true) + UserSearchResult(MatrixUser(UserId(query))) } else { null } diff --git a/libraries/usersearch/impl/src/test/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepositoryTest.kt b/libraries/usersearch/impl/src/test/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepositoryTest.kt index 621274bef5..0ddf58e8aa 100644 --- a/libraries/usersearch/impl/src/test/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepositoryTest.kt +++ b/libraries/usersearch/impl/src/test/kotlin/io/element/android/libraries/usersearch/impl/MatrixUserRepositoryTest.kt @@ -54,7 +54,14 @@ internal class MatrixUserRepositoryTest { val result = repository.search("some query") result.test { - assertThat(awaitItem()).isEmpty() + awaitItem().also { + assertThat(it.isFetchingSearchResults).isTrue() + assertThat(it.results).isEmpty() + } + awaitItem().also { + assertThat(it.isFetchingSearchResults).isFalse() + assertThat(it.results).isEmpty() + } awaitComplete() } } @@ -68,7 +75,14 @@ internal class MatrixUserRepositoryTest { val result = repository.search("some query") result.test { - assertThat(awaitItem()).isEqualTo(aMatrixUserList().toUserSearchResults()) + awaitItem().also { + assertThat(it.isFetchingSearchResults).isTrue() + assertThat(it.results).isEmpty() + } + awaitItem().also { + assertThat(it.isFetchingSearchResults).isFalse() + assertThat(it.results).isEqualTo(aMatrixUserList().toUserSearchResults()) + } awaitComplete() } } @@ -81,9 +95,11 @@ internal class MatrixUserRepositoryTest { val result = repository.search(A_USER_ID.value) result.test { - assertThat(awaitItem()).isEqualTo(listOf(placeholderResult())) - skipItems(1) - awaitComplete() + awaitItem().also { + assertThat(it.isFetchingSearchResults).isTrue() + assertThat(it.results).isEqualTo(listOf(placeholderResult())) + } + cancelAndConsumeRemainingEvents() } } @@ -95,8 +111,11 @@ internal class MatrixUserRepositoryTest { val result = repository.search(SESSION_ID.value) result.test { - assertThat(awaitItem()).isEmpty() - awaitComplete() + awaitItem().also { + assertThat(it.isFetchingSearchResults).isTrue() + assertThat(it.results).isEmpty() + } + cancelAndConsumeRemainingEvents() } } @@ -110,7 +129,8 @@ internal class MatrixUserRepositoryTest { val result = repository.search("some text") result.test { - assertThat(awaitItem()).isEqualTo(aMatrixUserList().toUserSearchResults()) + skipItems(1) + assertThat(awaitItem().results).isEqualTo(aMatrixUserList().toUserSearchResults()) awaitComplete() } } @@ -126,7 +146,7 @@ internal class MatrixUserRepositoryTest { result.test { skipItems(1) - assertThat(awaitItem()).isEqualTo(searchResults.toUserSearchResults()) + assertThat(awaitItem().results).isEqualTo(searchResults.toUserSearchResults()) awaitComplete() } } @@ -145,7 +165,7 @@ internal class MatrixUserRepositoryTest { result.test { skipItems(1) - assertThat(awaitItem()).isEqualTo((listOf(userProfile) + searchResults).toUserSearchResults()) + assertThat(awaitItem().results).isEqualTo((listOf(userProfile) + searchResults).toUserSearchResults()) awaitComplete() } } @@ -163,7 +183,8 @@ internal class MatrixUserRepositoryTest { val result = repository.search(SESSION_ID.value) result.test { - assertThat(awaitItem()).isEqualTo(searchResults.toUserSearchResults()) + skipItems(1) + assertThat(awaitItem().results).isEqualTo(searchResults.toUserSearchResults()) awaitComplete() } } @@ -181,7 +202,7 @@ internal class MatrixUserRepositoryTest { result.test { skipItems(1) - assertThat(awaitItem()).isEqualTo(listOf(placeholderResult(isUnresolved = true)) + searchResults.toUserSearchResults()) + assertThat(awaitItem().results).isEqualTo(listOf(placeholderResult(isUnresolved = true)) + searchResults.toUserSearchResults()) awaitComplete() } }