From ba044520109fd02d829decc1eda318fa8d4bad90 Mon Sep 17 00:00:00 2001 From: sangyoon Date: Thu, 4 Apr 2024 17:53:57 +0900 Subject: [PATCH 1/2] 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 2/2] 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, ) }