From 4c93714b150842ca6a1ba7f2ce5312854b9435c0 Mon Sep 17 00:00:00 2001 From: Kaung Khant Soe Date: Fri, 10 Feb 2023 13:40:31 +0700 Subject: [PATCH] [#83] Minor function name changes and refactors --- ...ailScreenTest.kt => DetailScreenUiTest.kt} | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) rename app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/{DetailScreenTest.kt => DetailScreenUiTest.kt} (89%) diff --git a/app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/DetailScreenTest.kt b/app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/DetailScreenUiTest.kt similarity index 89% rename from app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/DetailScreenTest.kt rename to app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/DetailScreenUiTest.kt index deebb363..debf0509 100644 --- a/app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/DetailScreenTest.kt +++ b/app/src/androidTest/java/co/nimblehq/compose/crypto/ui/screen/detail/DetailScreenUiTest.kt @@ -26,7 +26,7 @@ import org.junit.Test import kotlin.math.abs @ExperimentalCoroutinesApi -class DetailScreenTest : BaseScreenTest() { +class DetailScreenUiTest : BaseScreenTest() { @get:Rule val composeAndroidTestRule = createAndroidComposeRule() @@ -43,6 +43,7 @@ class DetailScreenTest : BaseScreenTest() { @Before fun setUp() { + initDetailViewModel() composeAndroidTestRule.activity.setContent { DetailScreen( coinId = "", @@ -55,7 +56,7 @@ class DetailScreenTest : BaseScreenTest() { } @Test - fun when_navigate_to_detail_screen_it_show_loading() { + fun when_navigating_to_detail_screen_it_shows_loading() { composeAndroidTestRule.activity.setContent { DetailScreen( coinId = "", @@ -65,20 +66,16 @@ class DetailScreenTest : BaseScreenTest() { ) } - initDetailViewModel() - with(composeAndroidTestRule) { onNodeWithTag(TestTagDetailLoading).assertIsDisplayed() } } @Test - fun when_navigate_to_detail_screen_it_render_chart_interval_buttons_properly() { + fun when_navigating_to_detail_screen_it_renders_chart_interval_buttons_properly() { every { mockGetCoinDetailUseCase.execute(any()) } returns flowOf(coinDetail) every { mockGetCoinPricesUseCase.execute(any()) } returns flowOf(coinPrices) - initDetailViewModel() - with(composeAndroidTestRule) { onNodeWithText(TimeIntervals.ONE_DAY.text).assertIsDisplayed() onNodeWithText(TimeIntervals.ONE_WEEK.text).assertIsDisplayed() @@ -89,12 +86,10 @@ class DetailScreenTest : BaseScreenTest() { } @Test - fun when_navigate_to_detail_screen_it_render_currentPrice_and_priceChangePercentage24hInCurrency_properly() { + fun when_navigating_to_detail_screen_it_render_currentPrice_and_priceChangePercentage24hInCurrency_properly() { every { mockGetCoinDetailUseCase.execute(any()) } returns flowOf(coinDetail) every { mockGetCoinPricesUseCase.execute(any()) } returns flowOf(coinPrices) - initDetailViewModel() - with(composeAndroidTestRule) { coinDetail.marketData?.let { marketData -> val currentPrice = "$${marketData.currentPrice[FIAT_CURRENCY]?.toFormattedString()}" @@ -110,12 +105,10 @@ class DetailScreenTest : BaseScreenTest() { } @Test - fun when_navigate_to_detail_screen_it_render_coin_info_properly() { + fun when_navigating_to_detail_screen_it_render_coin_info_properly() { every { mockGetCoinDetailUseCase.execute(any()) } returns flowOf(coinDetail) every { mockGetCoinPricesUseCase.execute(any()) } returns flowOf(coinPrices) - initDetailViewModel() - with(composeAndroidTestRule) { coinDetail.marketData?.let { marketData -> val marketCap = "$${marketData.marketCap[FIAT_CURRENCY]?.toFormattedString()}" @@ -131,26 +124,22 @@ class DetailScreenTest : BaseScreenTest() { } @Test - fun when_navigate_to_detail_screen_and_has_api_error_coin_price_chart_is_not_displayed() { + fun when_navigating_to_detail_screen_and_has_api_error_coin_price_chart_is_not_displayed() { every { mockGetCoinDetailUseCase.execute(any()) } returns flow { throw Throwable(errorGeneric) } every { mockGetCoinPricesUseCase.execute(any()) } returns flowOf(coinPrices) - initDetailViewModel() - with(composeAndroidTestRule) { onNodeWithText(TestTagDetailCoinPriceChart).assertDoesNotExist() } } @Test - fun when_navigate_to_detail_screen_chart_interval_buttons_are_clickable() { + fun when_navigating_to_detail_screen_chart_interval_buttons_are_clickable() { every { mockGetCoinDetailUseCase.execute(any()) } returns flowOf(coinDetail) every { mockGetCoinPricesUseCase.execute(any()) } returns flowOf(coinPrices) - initDetailViewModel() - with(composeAndroidTestRule) { onNodeWithText(TimeIntervals.ONE_DAY.text).assertHasClickAction() onNodeWithText(TimeIntervals.ONE_WEEK.text).assertHasClickAction()