11package me.nya_n.notificationnotifier
22
33import android.net.Uri
4+ import androidx.core.content.edit
45import androidx.test.ext.junit.runners.AndroidJUnit4
56import androidx.test.platform.app.InstrumentationRegistry
67import com.google.common.truth.Truth.assertThat
7- import io.mockk.mockk
88import kotlinx.coroutines.ExperimentalCoroutinesApi
99import kotlinx.coroutines.test.UnconfinedTestDispatcher
1010import kotlinx.coroutines.test.runTest
11- import me.nya_n.notificationnotifier.data.repository.AppRepository
12- import me.nya_n.notificationnotifier.data.repository.UserSettingsRepository
11+ import me.nya_n.notificationnotifier.data.repository.impl.AppRepositoryImpl
1312import me.nya_n.notificationnotifier.data.repository.impl.BackupRepositoryImpl
13+ import me.nya_n.notificationnotifier.data.repository.impl.UserSettingsRepositoryImpl
14+ import me.nya_n.notificationnotifier.data.repository.source.DB
15+ import me.nya_n.notificationnotifier.data.repository.source.UserSettingsDataStore
16+ import me.nya_n.notificationnotifier.data.repository.util.SharedPreferenceProvider
1417import me.nya_n.notificationnotifier.domain.usecase.AddTargetAppUseCase
1518import me.nya_n.notificationnotifier.domain.usecase.ExportDataUseCase
1619import me.nya_n.notificationnotifier.domain.usecase.ImportDataUseCase
@@ -35,7 +38,7 @@ import org.junit.Test
3538import org.junit.runner.RunWith
3639import java.io.File
3740
38- @Suppress(" NonAsciiCharacters" , " RemoveRedundantBackticks " )
41+ @Suppress(" NonAsciiCharacters" )
3942@RunWith(AndroidJUnit4 ::class )
4043class UseCaseTest {
4144 companion object {
@@ -46,9 +49,6 @@ class UseCaseTest {
4649 private val testDispatcher = UnconfinedTestDispatcher ()
4750 private lateinit var exportFile: File
4851
49- private val userSettingsRepository: UserSettingsRepository = mockk()
50- private val appRepository: AppRepository = mockk()
51-
5252 private lateinit var addTargetAppUseCase: AddTargetAppUseCase
5353 private lateinit var loadAppUseCase: LoadAppUseCaseImpl
5454 private lateinit var saveFilterConditionUseCase: SaveFilterConditionUseCase
@@ -68,6 +68,27 @@ class UseCaseTest {
6868 delete()
6969 }
7070 }
71+ val userSettingsRepository = UserSettingsRepositoryImpl (
72+ UserSettingsDataStore (
73+ SharedPreferenceProvider .create(
74+ appContext,
75+ UserSettingsDataStore .DATA_STORE_NAME
76+ ).apply {
77+ edit {
78+ clear()
79+ }
80+ }
81+ )
82+ )
83+ val db = DB .get(appContext, isInMemory = true ).apply {
84+ clearAllTables()
85+ }
86+ val appRepository = AppRepositoryImpl (
87+ appContext.packageManager,
88+ db.filterConditionDao(),
89+ db.targetAppDao(),
90+ testDispatcher
91+ )
7192 val backupRepository = BackupRepositoryImpl (appContext, testDispatcher)
7293 addTargetAppUseCase = AddTargetAppUseCaseImpl (appRepository)
7394 loadAppUseCase = LoadAppUseCaseImpl (userSettingsRepository, appRepository, testDispatcher)
0 commit comments