From 77677e9a16f3b56b97fae1ac3e61a2a3d70bb8d7 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 16:18:13 +0900 Subject: [PATCH 01/19] Add GetRecentSearchQueriesUseCaseTest.kt ([#1327](https://github.com/android/nowinandroid/issues/1327)) --- .../GetRecentSearchQueriesUseCaseTest.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt new file mode 100644 index 000000000..b45c9f83c --- /dev/null +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.samples.apps.nowinandroid.core.domain + +import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository +import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule +import org.junit.Rule + +class GetRecentSearchQueriesUseCaseTest { + + @get:Rule + val mainDispatcherRule = MainDispatcherRule() + + private val recentSearchRepository = TestRecentSearchRepository() + + +} \ No newline at end of file From e1ee9b477d9aa0b690b1fb69f6777e4b9e0dc8a6 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 16:18:13 +0900 Subject: [PATCH 02/19] Add GetRecentSearchQueriesUseCaseTest.kt (#1327) --- .../GetRecentSearchQueriesUseCaseTest.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt new file mode 100644 index 000000000..b45c9f83c --- /dev/null +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.samples.apps.nowinandroid.core.domain + +import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository +import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule +import org.junit.Rule + +class GetRecentSearchQueriesUseCaseTest { + + @get:Rule + val mainDispatcherRule = MainDispatcherRule() + + private val recentSearchRepository = TestRecentSearchRepository() + + +} \ No newline at end of file From 31a4560abb129631d097aedbcebe2184ab41530a Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 16:20:55 +0900 Subject: [PATCH 03/19] Revert "Add GetRecentSearchQueriesUseCaseTest.kt (#1327)" This reverts commit e1ee9b477d9aa0b690b1fb69f6777e4b9e0dc8a6. --- .../GetRecentSearchQueriesUseCaseTest.kt | 31 ------------------- 1 file changed, 31 deletions(-) delete mode 100644 core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt deleted file mode 100644 index b45c9f83c..000000000 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.samples.apps.nowinandroid.core.domain - -import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository -import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule -import org.junit.Rule - -class GetRecentSearchQueriesUseCaseTest { - - @get:Rule - val mainDispatcherRule = MainDispatcherRule() - - private val recentSearchRepository = TestRecentSearchRepository() - - -} \ No newline at end of file From 0f711be5af4312d45e790719d5ebd386d30a0ce9 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 17:26:00 +0900 Subject: [PATCH 04/19] Fix Change the way data is created in flow ([#1327]) --- .../core/testing/repository/TestRecentSearchRepository.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt index f700bdc31..dbd30a3cf 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt @@ -19,14 +19,16 @@ package com.google.samples.apps.nowinandroid.core.testing.repository import com.google.samples.apps.nowinandroid.core.data.model.RecentSearchQuery import com.google.samples.apps.nowinandroid.core.data.repository.RecentSearchRepository import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.flow class TestRecentSearchRepository : RecentSearchRepository { private val cachedRecentSearches: MutableList = mutableListOf() override fun getRecentSearchQueries(limit: Int): Flow> = - flowOf(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) + flow { + emit(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) + } override suspend fun insertOrReplaceRecentSearch(searchQuery: String) { cachedRecentSearches.add(RecentSearchQuery(searchQuery)) From 17c937f26ef8d21bc2b5fc61cd6cf34c2713c9e4 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 17:30:28 +0900 Subject: [PATCH 05/19] Add test code : whenNoParams_recentSearchQueriesAreReturnedUpTo10 ([#1327]) --- .../GetRecentSearchQueriesUseCaseTest.kt | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index b45c9f83c..9bdf5e87f 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -18,7 +18,11 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.runTest import org.junit.Rule +import org.junit.Test +import kotlin.test.assertEquals class GetRecentSearchQueriesUseCaseTest { @@ -27,5 +31,34 @@ class GetRecentSearchQueriesUseCaseTest { private val recentSearchRepository = TestRecentSearchRepository() + private val useCase = GetRecentSearchQueriesUseCase( + recentSearchRepository + ) -} \ No newline at end of file + @Test + fun whenNoParams_recentSearchQueriesAreReturnedUpTo10() = runTest { + // Obtain a stream of recent search queries. + val recentSearchQueries = useCase() + + // insert search queries. + for (query in testRecentSearchQueries) { + recentSearchRepository.insertOrReplaceRecentSearch(query) + } + + // Check that recent search queries are ordered by latest up to 10. + assertEquals( + testRecentSearchQueries.reversed().take(10), + recentSearchQueries.first().map { it.query }, + ) + } +} + +private val testRecentSearchQueries = listOf( + "Compose", "Wear OS", + "Jetpack", "Headlines", + "Architecture", "UI", + "Testing", "Android Studio", + "Performance", "New API", + "Games", "Android TV", + "Camera", "Media" +) \ No newline at end of file From db168787304391c8232cc0e915b02ededcc8e75b Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 18:13:09 +0900 Subject: [PATCH 06/19] FIX test code : whenNoParams_recentSearchQueriesAreReturnedUpTo10 ([#1327]) --- .../GetRecentSearchQueriesUseCaseTest.kt | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 9bdf5e87f..6b74a162d 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -18,6 +18,7 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.runTest import org.junit.Rule @@ -37,12 +38,27 @@ class GetRecentSearchQueriesUseCaseTest { @Test fun whenNoParams_recentSearchQueriesAreReturnedUpTo10() = runTest { - // Obtain a stream of recent search queries. + // Obtain a stream of recent search queries with no param. val recentSearchQueries = useCase() - // insert search queries. - for (query in testRecentSearchQueries) { - recentSearchRepository.insertOrReplaceRecentSearch(query) + // insert 5 search queries. + for (index in 0 until 5) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that 5 recent search queries are ordered by latest. + assertEquals( + testRecentSearchQueries.take(5).reversed(), + recentSearchQueries.first().map { it.query }, + ) + + // insert 9 more search queries. + for (index in 5 until testRecentSearchQueries.size) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) } // Check that recent search queries are ordered by latest up to 10. From b7822917d2aee14b7a9cca0fc81756d971140992 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 18:16:29 +0900 Subject: [PATCH 07/19] FIX test code : whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5 ([#1327]) --- .../GetRecentSearchQueriesUseCaseTest.kt | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 6b74a162d..83162c572 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -67,6 +67,38 @@ class GetRecentSearchQueriesUseCaseTest { recentSearchQueries.first().map { it.query }, ) } + + @Test + fun whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5() = runTest { + // Obtain a stream of recent search queries with param set 5. + val recentSearchQueries = useCase(5) + + // insert 2 search queries. + for (index in 0 until 2) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that 5 recent search queries are ordered by latest. + assertEquals( + testRecentSearchQueries.take(2).reversed(), + recentSearchQueries.first().map { it.query }, + ) + + // insert 12 more search queries. + for (index in 2 until testRecentSearchQueries.size) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that recent search queries are ordered by latest up to 10. + assertEquals( + testRecentSearchQueries.reversed().take(5), + recentSearchQueries.first().map { it.query }, + ) + } } private val testRecentSearchQueries = listOf( From 98fd9ee8b917c15849c6247f342779afce8685b0 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 18:17:48 +0900 Subject: [PATCH 08/19] FIX test code : whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5 ([#1327]) --- .../core/domain/GetRecentSearchQueriesUseCaseTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 83162c572..7c9e601a2 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -93,7 +93,7 @@ class GetRecentSearchQueriesUseCaseTest { delay(10L) } - // Check that recent search queries are ordered by latest up to 10. + // Check that recent search queries are ordered by latest up to 5. assertEquals( testRecentSearchQueries.reversed().take(5), recentSearchQueries.first().map { it.query }, From 16d73b3d4cc4f080dec9bd54a52949f64801db43 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 17:30:28 +0900 Subject: [PATCH 09/19] Add test code in GetFollowableTopicsUseCaseTest.kt([#1327]) --- .../GetRecentSearchQueriesUseCaseTest.kt | 83 ++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index b45c9f83c..7c9e601a2 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -18,7 +18,12 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.runTest import org.junit.Rule +import org.junit.Test +import kotlin.test.assertEquals class GetRecentSearchQueriesUseCaseTest { @@ -27,5 +32,81 @@ class GetRecentSearchQueriesUseCaseTest { private val recentSearchRepository = TestRecentSearchRepository() + private val useCase = GetRecentSearchQueriesUseCase( + recentSearchRepository + ) -} \ No newline at end of file + @Test + fun whenNoParams_recentSearchQueriesAreReturnedUpTo10() = runTest { + // Obtain a stream of recent search queries with no param. + val recentSearchQueries = useCase() + + // insert 5 search queries. + for (index in 0 until 5) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that 5 recent search queries are ordered by latest. + assertEquals( + testRecentSearchQueries.take(5).reversed(), + recentSearchQueries.first().map { it.query }, + ) + + // insert 9 more search queries. + for (index in 5 until testRecentSearchQueries.size) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that recent search queries are ordered by latest up to 10. + assertEquals( + testRecentSearchQueries.reversed().take(10), + recentSearchQueries.first().map { it.query }, + ) + } + + @Test + fun whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5() = runTest { + // Obtain a stream of recent search queries with param set 5. + val recentSearchQueries = useCase(5) + + // insert 2 search queries. + for (index in 0 until 2) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that 5 recent search queries are ordered by latest. + assertEquals( + testRecentSearchQueries.take(2).reversed(), + recentSearchQueries.first().map { it.query }, + ) + + // insert 12 more search queries. + for (index in 2 until testRecentSearchQueries.size) { + recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) + // delay for saving value + delay(10L) + } + + // Check that recent search queries are ordered by latest up to 5. + assertEquals( + testRecentSearchQueries.reversed().take(5), + recentSearchQueries.first().map { it.query }, + ) + } +} + +private val testRecentSearchQueries = listOf( + "Compose", "Wear OS", + "Jetpack", "Headlines", + "Architecture", "UI", + "Testing", "Android Studio", + "Performance", "New API", + "Games", "Android TV", + "Camera", "Media" +) \ No newline at end of file From 5b1c704b867fa5de53eec9256715299d67941d36 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Wed, 3 Apr 2024 19:28:51 +0900 Subject: [PATCH 10/19] FIX test code : apply code formmat ([#1327]) Change-Id: I63e3f7ad009549a8673c61da59995c263526bbac --- .../core/domain/GetRecentSearchQueriesUseCaseTest.kt | 6 +++--- .../core/testing/repository/TestRecentSearchRepository.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 7c9e601a2..6be34697d 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -33,7 +33,7 @@ class GetRecentSearchQueriesUseCaseTest { private val recentSearchRepository = TestRecentSearchRepository() private val useCase = GetRecentSearchQueriesUseCase( - recentSearchRepository + recentSearchRepository, ) @Test @@ -108,5 +108,5 @@ private val testRecentSearchQueries = listOf( "Testing", "Android Studio", "Performance", "New API", "Games", "Android TV", - "Camera", "Media" -) \ No newline at end of file + "Camera", "Media", +) diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt index dbd30a3cf..941d6df23 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt @@ -27,7 +27,7 @@ class TestRecentSearchRepository : RecentSearchRepository { override fun getRecentSearchQueries(limit: Int): Flow> = flow { - emit(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) + emit(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) } override suspend fun insertOrReplaceRecentSearch(searchQuery: String) { From ba044520109fd02d829decc1eda318fa8d4bad90 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 4 Apr 2024 17:53:57 +0900 Subject: [PATCH 11/19] Update test code by applying code conventions and reflecting feedback Change-Id: Ia1d9049642e447d9233713a7e3ee593d0bd56930 --- .../domain/GetFollowableTopicsUseCaseTest.kt | 5 +- .../GetRecentSearchQueriesUseCaseTest.kt | 66 ++++++------------- 2 files changed, 24 insertions(+), 47 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt index 42a31f858..fe671ff8c 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt @@ -28,6 +28,9 @@ import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals +/** + * Unit test for [GetFollowableTopicsUseCase] + */ class GetFollowableTopicsUseCaseTest { @get:Rule @@ -42,7 +45,7 @@ class GetFollowableTopicsUseCaseTest { ) @Test - fun whenNoParams_followableTopicsAreReturnedWithNoSorting() = runTest { + fun whenSortOrderIsByNone_followableTopicsAreReturnedWithNoSorting() = runTest { // Obtain a stream of followable topics. val followableTopics = useCase() diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 6be34697d..9d592be19 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -18,13 +18,16 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule -import kotlinx.coroutines.delay import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.advanceUntilIdle import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals +/** + * Unit test for [GetRecentSearchQueriesUseCase] + */ class GetRecentSearchQueriesUseCaseTest { @get:Rule @@ -37,65 +40,36 @@ class GetRecentSearchQueriesUseCaseTest { ) @Test - fun whenNoParams_recentSearchQueriesAreReturnedUpTo10() = runTest { + fun whenQueryLimitIsBy10_recentSearchQueriesAreReturnedUpTo10() = runTest { // Obtain a stream of recent search queries with no param. val recentSearchQueries = useCase() - // insert 5 search queries. - for (index in 0 until 5) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) + // insert search queries over 10. + testRecentSearchQueries.forEach { query -> + recentSearchRepository.insertOrReplaceRecentSearch(query) } - // Check that 5 recent search queries are ordered by latest. + // Check that the number of recent search queries are up to 10. assertEquals( - testRecentSearchQueries.take(5).reversed(), - recentSearchQueries.first().map { it.query }, - ) - - // insert 9 more search queries. - for (index in 5 until testRecentSearchQueries.size) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) - } - - // Check that recent search queries are ordered by latest up to 10. - assertEquals( - testRecentSearchQueries.reversed().take(10), - recentSearchQueries.first().map { it.query }, + 10, + recentSearchQueries.first().size ) } @Test - fun whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5() = runTest { - // Obtain a stream of recent search queries with param set 5. - val recentSearchQueries = useCase(5) - - // insert 2 search queries. - for (index in 0 until 2) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) - } - - // Check that 5 recent search queries are ordered by latest. - assertEquals( - testRecentSearchQueries.take(2).reversed(), - recentSearchQueries.first().map { it.query }, - ) + fun whenReceivingRecentSearchQueries_recentSearchQueriesAreReturnedInRecentOrder() = runTest { + // Obtain a stream of recent search queries with no param. + val recentSearchQueries = useCase() - // insert 12 more search queries. - for (index in 2 until testRecentSearchQueries.size) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) + // insert search queries over 10. + testRecentSearchQueries.forEach { query -> + recentSearchRepository.insertOrReplaceRecentSearch(query) + advanceUntilIdle() } - // Check that recent search queries are ordered by latest up to 5. + // Check that search queries is ordered in recently up to 10 assertEquals( - testRecentSearchQueries.reversed().take(5), + testRecentSearchQueries.reversed().take(10), recentSearchQueries.first().map { it.query }, ) } From bf1b117b1305fdae47115882a92198871b5444ab Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 4 Apr 2024 21:59:24 +0900 Subject: [PATCH 12/19] apply code convention with spotlessApply ([#1327]) Change-Id: I2a818503cffc458085e7aee04c2c12d9df532b3c --- .../core/domain/GetRecentSearchQueriesUseCaseTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 9d592be19..b3ca029b3 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -52,7 +52,7 @@ class GetRecentSearchQueriesUseCaseTest { // Check that the number of recent search queries are up to 10. assertEquals( 10, - recentSearchQueries.first().size + recentSearchQueries.first().size, ) } From 2a9fad4736d06a6e74247de8b7b0e94e55cada32 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 4 Apr 2024 17:53:57 +0900 Subject: [PATCH 13/19] Update test code by applying code conventions and reflecting feedback ([#1327]) Change-Id: I392a1e3ebcbc8bc30623559d97c1657e5d50fbbc --- .../domain/GetFollowableTopicsUseCaseTest.kt | 5 +- .../GetRecentSearchQueriesUseCaseTest.kt | 66 ++++++------------- 2 files changed, 24 insertions(+), 47 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt index 42a31f858..fe671ff8c 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt @@ -28,6 +28,9 @@ import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals +/** + * Unit test for [GetFollowableTopicsUseCase] + */ class GetFollowableTopicsUseCaseTest { @get:Rule @@ -42,7 +45,7 @@ class GetFollowableTopicsUseCaseTest { ) @Test - fun whenNoParams_followableTopicsAreReturnedWithNoSorting() = runTest { + fun whenSortOrderIsByNone_followableTopicsAreReturnedWithNoSorting() = runTest { // Obtain a stream of followable topics. val followableTopics = useCase() diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 6be34697d..b3ca029b3 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -18,13 +18,16 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule -import kotlinx.coroutines.delay import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.advanceUntilIdle import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals +/** + * Unit test for [GetRecentSearchQueriesUseCase] + */ class GetRecentSearchQueriesUseCaseTest { @get:Rule @@ -37,65 +40,36 @@ class GetRecentSearchQueriesUseCaseTest { ) @Test - fun whenNoParams_recentSearchQueriesAreReturnedUpTo10() = runTest { + fun whenQueryLimitIsBy10_recentSearchQueriesAreReturnedUpTo10() = runTest { // Obtain a stream of recent search queries with no param. val recentSearchQueries = useCase() - // insert 5 search queries. - for (index in 0 until 5) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) + // insert search queries over 10. + testRecentSearchQueries.forEach { query -> + recentSearchRepository.insertOrReplaceRecentSearch(query) } - // Check that 5 recent search queries are ordered by latest. + // Check that the number of recent search queries are up to 10. assertEquals( - testRecentSearchQueries.take(5).reversed(), - recentSearchQueries.first().map { it.query }, - ) - - // insert 9 more search queries. - for (index in 5 until testRecentSearchQueries.size) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) - } - - // Check that recent search queries are ordered by latest up to 10. - assertEquals( - testRecentSearchQueries.reversed().take(10), - recentSearchQueries.first().map { it.query }, + 10, + recentSearchQueries.first().size, ) } @Test - fun whenParamIsSetTo5_recentSearchQueriesAreReturnedUpTo5() = runTest { - // Obtain a stream of recent search queries with param set 5. - val recentSearchQueries = useCase(5) - - // insert 2 search queries. - for (index in 0 until 2) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) - } - - // Check that 5 recent search queries are ordered by latest. - assertEquals( - testRecentSearchQueries.take(2).reversed(), - recentSearchQueries.first().map { it.query }, - ) + fun whenReceivingRecentSearchQueries_recentSearchQueriesAreReturnedInRecentOrder() = runTest { + // Obtain a stream of recent search queries with no param. + val recentSearchQueries = useCase() - // insert 12 more search queries. - for (index in 2 until testRecentSearchQueries.size) { - recentSearchRepository.insertOrReplaceRecentSearch(testRecentSearchQueries[index]) - // delay for saving value - delay(10L) + // insert search queries over 10. + testRecentSearchQueries.forEach { query -> + recentSearchRepository.insertOrReplaceRecentSearch(query) + advanceUntilIdle() } - // Check that recent search queries are ordered by latest up to 5. + // Check that search queries is ordered in recently up to 10 assertEquals( - testRecentSearchQueries.reversed().take(5), + testRecentSearchQueries.reversed().take(10), recentSearchQueries.first().map { it.query }, ) } From 6f2a55601f705a4b92470c593568a26144b81083 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 21 Aug 2025 15:46:48 +0900 Subject: [PATCH 14/19] Fix: Roll back unnecessary 'flow producer' changes Change-Id: I9e00d849b34bc6ff6390bdafd934740ab16172bf --- .../core/testing/repository/TestRecentSearchRepository.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt index 941d6df23..f700bdc31 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt @@ -19,16 +19,14 @@ package com.google.samples.apps.nowinandroid.core.testing.repository import com.google.samples.apps.nowinandroid.core.data.model.RecentSearchQuery import com.google.samples.apps.nowinandroid.core.data.repository.RecentSearchRepository import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.flowOf class TestRecentSearchRepository : RecentSearchRepository { private val cachedRecentSearches: MutableList = mutableListOf() override fun getRecentSearchQueries(limit: Int): Flow> = - flow { - emit(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) - } + flowOf(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) override suspend fun insertOrReplaceRecentSearch(searchQuery: String) { cachedRecentSearches.add(RecentSearchQuery(searchQuery)) From bfd6ae73fb61ddb85cd25eb4edc8f43b584adfc8 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 21 Aug 2025 15:55:09 +0900 Subject: [PATCH 15/19] Fix: delete unnecessary comment Change-Id: I2ade29d0850206020ef69520f6e250de39dcef6d --- .../nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt index fe671ff8c..68b05cfbd 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt @@ -28,9 +28,6 @@ import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals -/** - * Unit test for [GetFollowableTopicsUseCase] - */ class GetFollowableTopicsUseCaseTest { @get:Rule From a86be084ec6d62d8563bab6524334484e7b536a5 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 21 Aug 2025 15:56:34 +0900 Subject: [PATCH 16/19] Fix: rollback unnecessary 'flow producer' change Change-Id: I80c3c7132e87ba8d770f4eac9904671725b02265 --- .../core/testing/repository/TestRecentSearchRepository.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt index 941d6df23..f700bdc31 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt @@ -19,16 +19,14 @@ package com.google.samples.apps.nowinandroid.core.testing.repository import com.google.samples.apps.nowinandroid.core.data.model.RecentSearchQuery import com.google.samples.apps.nowinandroid.core.data.repository.RecentSearchRepository import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.flowOf class TestRecentSearchRepository : RecentSearchRepository { private val cachedRecentSearches: MutableList = mutableListOf() override fun getRecentSearchQueries(limit: Int): Flow> = - flow { - emit(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) - } + flowOf(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) override suspend fun insertOrReplaceRecentSearch(searchQuery: String) { cachedRecentSearches.add(RecentSearchQuery(searchQuery)) From bcb827aa5d9451e60d3d4a09b16db2554549421c Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 21 Aug 2025 16:11:33 +0900 Subject: [PATCH 17/19] Fix: delete unnecessary comment Change-Id: I2201d548a4596f3040d81130f5ac53f29f7f034b --- .../core/domain/GetRecentSearchQueriesUseCaseTest.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index b3ca029b3..72b4568d1 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -25,9 +25,6 @@ import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals -/** - * Unit test for [GetRecentSearchQueriesUseCase] - */ class GetRecentSearchQueriesUseCaseTest { @get:Rule @@ -69,8 +66,8 @@ class GetRecentSearchQueriesUseCaseTest { // Check that search queries is ordered in recently up to 10 assertEquals( - testRecentSearchQueries.reversed().take(10), - recentSearchQueries.first().map { it.query }, + expected = testRecentSearchQueries.reversed().take(10), + actual = recentSearchQueries.first().map { it.query }, ) } } From 5eecf4ed8769c5e0b5b02f4260a3149c9696dc95 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 21 Aug 2025 16:35:32 +0900 Subject: [PATCH 18/19] Replace: cached filed of TestRecentSearchRepository change from 'MutableList' to 'MutableSharedFlow' Change-Id: Ic7f914d5a3963812d0647a2f0b89f732f2d4188c --- .../domain/GetRecentSearchQueriesUseCaseTest.kt | 5 ++--- .../repository/TestRecentSearchRepository.kt | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index 72b4568d1..b6261fac2 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -48,8 +48,8 @@ class GetRecentSearchQueriesUseCaseTest { // Check that the number of recent search queries are up to 10. assertEquals( - 10, - recentSearchQueries.first().size, + expected = 10, + actual = recentSearchQueries.first().size, ) } @@ -61,7 +61,6 @@ class GetRecentSearchQueriesUseCaseTest { // insert search queries over 10. testRecentSearchQueries.forEach { query -> recentSearchRepository.insertOrReplaceRecentSearch(query) - advanceUntilIdle() } // Check that search queries is ordered in recently up to 10 diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt index f700bdc31..f300464a4 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt @@ -18,19 +18,26 @@ package com.google.samples.apps.nowinandroid.core.testing.repository import com.google.samples.apps.nowinandroid.core.data.model.RecentSearchQuery import com.google.samples.apps.nowinandroid.core.data.repository.RecentSearchRepository +import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map class TestRecentSearchRepository : RecentSearchRepository { - private val cachedRecentSearches: MutableList = mutableListOf() + private val cachedRecentSearches = MutableSharedFlow>( + replay = 1, + onBufferOverflow = BufferOverflow.DROP_OLDEST + ).apply { tryEmit(mutableListOf()) } override fun getRecentSearchQueries(limit: Int): Flow> = - flowOf(cachedRecentSearches.sortedByDescending { it.queriedDate }.take(limit)) + cachedRecentSearches.map { it.sortedByDescending { it.queriedDate }.take(limit) } override suspend fun insertOrReplaceRecentSearch(searchQuery: String) { - cachedRecentSearches.add(RecentSearchQuery(searchQuery)) + val searchQueries = cachedRecentSearches.map { it.apply { add(RecentSearchQuery(searchQuery)) } }.first() + cachedRecentSearches.emit(searchQueries) } - override suspend fun clearRecentSearches() = cachedRecentSearches.clear() + override suspend fun clearRecentSearches() = cachedRecentSearches.emit(mutableListOf()) } From 7efcd8f7c12e9a86912c5ac44f000484b8055fea Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 21 Aug 2025 17:10:47 +0900 Subject: [PATCH 19/19] Fix: Spotless Change-Id: If3ee12b2a4ddb3baec0e4e990b721526104dbc99 --- .../core/domain/GetRecentSearchQueriesUseCaseTest.kt | 1 - .../core/testing/repository/TestRecentSearchRepository.kt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt index b6261fac2..83d38eddb 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetRecentSearchQueriesUseCaseTest.kt @@ -19,7 +19,6 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import kotlinx.coroutines.flow.first -import kotlinx.coroutines.test.advanceUntilIdle import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt index f300464a4..bf8c08a63 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt @@ -28,7 +28,7 @@ class TestRecentSearchRepository : RecentSearchRepository { private val cachedRecentSearches = MutableSharedFlow>( replay = 1, - onBufferOverflow = BufferOverflow.DROP_OLDEST + onBufferOverflow = BufferOverflow.DROP_OLDEST, ).apply { tryEmit(mutableListOf()) } override fun getRecentSearchQueries(limit: Int): Flow> =