Bläddra i källkod

fix test - add application for test

MrOzOn 4 år sedan
förälder
incheckning
ea4dc67f9a

+ 1 - 0
app/build.gradle

@@ -75,6 +75,7 @@ dependencies {
     androidTestImplementation 'androidx.test.ext:junit:1.1.2'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
     testImplementation 'org.robolectric:robolectric:4.4'
+    testImplementation 'androidx.test:core:1.3.0'
     testImplementation 'org.mockito:mockito-core:2.28.2'
     testImplementation "com.squareup.retrofit2:retrofit-mock:$retrofit_version"
 }

+ 1 - 7
app/src/main/java/com/mrozon/currencyconverter/presentation/ConverterCurrencyViewModel.kt

@@ -1,20 +1,14 @@
 package com.mrozon.currencyconverter.presentation
 
 import android.app.Application
-import android.content.res.Resources
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import com.mrozon.currencyconverter.CoroutineContextDispatchers
 import com.mrozon.currencyconverter.R
-import com.mrozon.currencyconverter.data.repository.IUpdateValutesRepository
 import com.mrozon.currencyconverter.domain.ICalculateCurrencyUseCase
 import com.mrozon.currencyconverter.domain.model.Currency
 import dagger.hilt.android.lifecycle.HiltViewModel
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.SharingStarted
-import kotlinx.coroutines.flow.stateIn
-import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.*
 import javax.inject.Inject
 
 @HiltViewModel

+ 9 - 8
app/src/test/java/com/mrozon/currencyconverter/domain/CalculateCurrencyUseCaseTest.kt

@@ -1,28 +1,29 @@
 package com.mrozon.currencyconverter.domain
 
+import androidx.test.core.app.ApplicationProvider
 import com.mrozon.currencyconverter.CoroutineTestRule
 import com.mrozon.currencyconverter.data.db.CurrencyDao
 import com.mrozon.currencyconverter.data.db.ValuteDb
-import com.mrozon.currencyconverter.data.network.Valute
-import com.mrozon.currencyconverter.data.repository.UpdateValutesRepository
 import com.mrozon.currencyconverter.domain.dto.CurrencyMapper
 import com.mrozon.currencyconverter.domain.model.Currency
-import com.mrozon.currencyconverter.domain.model.CurrentCurrencies
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flowOf
-import org.junit.After
+import org.junit.Assert.assertEquals
 import org.junit.Before
-import org.junit.Test
-
-import org.junit.Assert.*
 import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
 import org.mockito.Mock
 import org.mockito.Mockito
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoRule
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.annotation.Config
 
 @ExperimentalCoroutinesApi
+@RunWith(RobolectricTestRunner::class)
+@Config(sdk = [29])
 class CalculateCurrencyUseCaseTest {
 
     @get:Rule
@@ -38,7 +39,7 @@ class CalculateCurrencyUseCaseTest {
 
     @Before
     fun setUp() {
-        useCase = CalculateCurrencyUseCase(dao, CurrencyMapper())
+        useCase = CalculateCurrencyUseCase(dao, CurrencyMapper(), ApplicationProvider.getApplicationContext())
     }
 
     @Test