From 93828e43d0834f4abbe139feb578ec9e46d0aaee Mon Sep 17 00:00:00 2001 From: Mustafa Ozhan Date: Sun, 11 Feb 2024 23:09:42 +0300 Subject: [PATCH] [Oztechan/CCC#3156] Add test cases for Viewmodel datas (#3157) * [Oztechan/CCC#3156] Add test cases for Viewmodel datas * [Oztechan/CCC#3156] Add test cases for Viewmodel datas --- .../android/viewmodel/widget/WidgetViewModelTest.kt | 5 +++++ .../viewmodel/calculator/CalculatorViewModelTest.kt | 7 +++++++ .../viewmodel/currencies/CurrenciesViewModelTest.kt | 7 +++++++ .../ccc/client/viewmodel/main/MainViewModelTest.kt | 10 ++++++++++ .../client/viewmodel/premium/PremiumViewModelTest.kt | 2 +- .../selectcurrency/SelectCurrencyViewModelTest.kt | 2 +- .../client/viewmodel/settings/SettingsViewModelTest.kt | 7 +++++++ .../client/viewmodel/watchers/WatchersViewModelTest.kt | 5 +++++ 8 files changed, 43 insertions(+), 2 deletions(-) diff --git a/android/viewmodel/widget/src/test/kotlin/com/oztechan/ccc/android/viewmodel/widget/WidgetViewModelTest.kt b/android/viewmodel/widget/src/test/kotlin/com/oztechan/ccc/android/viewmodel/widget/WidgetViewModelTest.kt index f6897b02dc..a4034663fb 100644 --- a/android/viewmodel/widget/src/test/kotlin/com/oztechan/ccc/android/viewmodel/widget/WidgetViewModelTest.kt +++ b/android/viewmodel/widget/src/test/kotlin/com/oztechan/ccc/android/viewmodel/widget/WidgetViewModelTest.kt @@ -163,6 +163,11 @@ internal class WidgetViewModelTest { } } + @Test + fun `init updates data correctly`() { + assertNotNull(viewModel.data) + } + @Test fun `if user is premium api call and db query are invoked`() = runTest { coEvery { appStorage.getPremiumEndDate() } diff --git a/client/viewmodel/calculator/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/calculator/CalculatorViewModelTest.kt b/client/viewmodel/calculator/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/calculator/CalculatorViewModelTest.kt index c43f3609c5..317d2d458e 100644 --- a/client/viewmodel/calculator/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/calculator/CalculatorViewModelTest.kt +++ b/client/viewmodel/calculator/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/calculator/CalculatorViewModelTest.kt @@ -170,6 +170,13 @@ internal class CalculatorViewModelTest { } } + @Test + fun `init updates data correctly`() { + assertNotNull(viewModel.data) + assertNotNull(viewModel.data.conversion) + assertNotNull(viewModel.data.parser) + } + @Test fun `when api fails and there is conversion in db then conversion rates are calculated`() = runTest { diff --git a/client/viewmodel/currencies/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/currencies/CurrenciesViewModelTest.kt b/client/viewmodel/currencies/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/currencies/CurrenciesViewModelTest.kt index bfde0752b2..9a8fa489e1 100644 --- a/client/viewmodel/currencies/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/currencies/CurrenciesViewModelTest.kt +++ b/client/viewmodel/currencies/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/currencies/CurrenciesViewModelTest.kt @@ -156,6 +156,13 @@ internal class CurrenciesViewModelTest { .wasInvoked() } + @Test + fun `init updates data correctly`() { + assertNotNull(viewModel.data) + assertEquals(currencyList, viewModel.data.unFilteredList) + assertTrue { viewModel.data.query.isEmpty() } + } + @Test fun `show FewCurrency effect if there is less than MINIMUM_ACTIVE_CURRENCY and not firstRun`() = runTest { diff --git a/client/viewmodel/main/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/main/MainViewModelTest.kt b/client/viewmodel/main/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/main/MainViewModelTest.kt index ec161cfbc4..3fb6fc8a11 100644 --- a/client/viewmodel/main/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/main/MainViewModelTest.kt +++ b/client/viewmodel/main/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/main/MainViewModelTest.kt @@ -160,6 +160,16 @@ internal class MainViewModelTest { .wasInvoked() } + @Test + fun `init updates data correctly`() { + assertNotNull(viewModel.data) + assertFalse { viewModel.data.adVisibility } + assertFalse { viewModel.data.isAppUpdateShown } + assertTrue { viewModel.data.isNewSession } + assertNotNull(viewModel.data.adJob) + assertTrue { viewModel.data.adJob.isActive } + } + // event @Test fun onPause() = with(viewModel) { diff --git a/client/viewmodel/premium/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/premium/PremiumViewModelTest.kt b/client/viewmodel/premium/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/premium/PremiumViewModelTest.kt index 5088a4b136..49169fb441 100644 --- a/client/viewmodel/premium/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/premium/PremiumViewModelTest.kt +++ b/client/viewmodel/premium/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/premium/PremiumViewModelTest.kt @@ -64,7 +64,7 @@ internal class PremiumViewModelTest { // SEED @Test - fun `check data is null`() { + fun `init updates data correctly`() { assertNull(viewModel.data) } diff --git a/client/viewmodel/selectcurrency/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/selectcurrency/SelectCurrencyViewModelTest.kt b/client/viewmodel/selectcurrency/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/selectcurrency/SelectCurrencyViewModelTest.kt index ea5830d8dd..fd18fa17fc 100644 --- a/client/viewmodel/selectcurrency/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/selectcurrency/SelectCurrencyViewModelTest.kt +++ b/client/viewmodel/selectcurrency/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/selectcurrency/SelectCurrencyViewModelTest.kt @@ -56,7 +56,7 @@ internal class SelectCurrencyViewModelTest { // SEED @Test - fun `check data is null`() { + fun `init updates data correctly`() { assertNull(subject.data) } diff --git a/client/viewmodel/settings/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/settings/SettingsViewModelTest.kt b/client/viewmodel/settings/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/settings/SettingsViewModelTest.kt index 3c796d3e1a..af709a90be 100644 --- a/client/viewmodel/settings/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/settings/SettingsViewModelTest.kt +++ b/client/viewmodel/settings/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/settings/SettingsViewModelTest.kt @@ -42,6 +42,7 @@ import kotlin.random.Random import kotlin.test.BeforeTest import kotlin.test.Test import kotlin.test.assertEquals +import kotlin.test.assertFalse import kotlin.test.assertIs import kotlin.test.assertNotNull import kotlin.test.assertTrue @@ -160,6 +161,12 @@ internal class SettingsViewModelTest { .wasInvoked() } + @Test + fun `init updates data correctly`() { + assertNotNull(viewModel.data) + assertFalse { viewModel.data.synced } + } + @Test fun `when premiumEndDate is never set PremiumStatus is NeverActivated`() = runTest { coEvery { appStorage.getPremiumEndDate() } diff --git a/client/viewmodel/watchers/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/watchers/WatchersViewModelTest.kt b/client/viewmodel/watchers/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/watchers/WatchersViewModelTest.kt index 8943b008d5..66369f1fd6 100644 --- a/client/viewmodel/watchers/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/watchers/WatchersViewModelTest.kt +++ b/client/viewmodel/watchers/src/commonTest/kotlin/com/oztechan/ccc/client/viewmodel/watchers/WatchersViewModelTest.kt @@ -92,6 +92,11 @@ internal class WatchersViewModelTest { .wasInvoked() } + @Test + fun `init updates data correctly`() { + assertNotNull(viewModel.data) + } + // Analytics @Test fun ifUserPropertiesSetCorrect() {