diff options
author | Allan Wang <me@allanwang.ca> | 2021-04-18 18:30:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-18 18:30:03 -0700 |
commit | bf55dbf9b46cd8826987ee6e556307e24f3d46cc (patch) | |
tree | aaca512641e6e4503859c4cb97a29a9296669f9d /app/src/androidTest | |
parent | 88a5d17814ff9f7c44f79216510d405f057ae454 (diff) | |
parent | 997362de5aab00f8d258b6fe8a058a8b3e018694 (diff) | |
download | frost-bf55dbf9b46cd8826987ee6e556307e24f3d46cc.tar.gz frost-bf55dbf9b46cd8826987ee6e556307e24f3d46cc.tar.bz2 frost-bf55dbf9b46cd8826987ee6e556307e24f3d46cc.zip |
Merge pull request #1770 from AllanWang/hilt
Diffstat (limited to 'app/src/androidTest')
11 files changed, 52 insertions, 54 deletions
diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt index 9d0caae6..2a834cc8 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/FrostTestApp.kt @@ -19,22 +19,13 @@ package com.pitchedapps.frost import android.app.Application import android.content.Context import androidx.test.runner.AndroidJUnitRunner -import ca.allanwang.kau.kpref.KPrefFactory -import ca.allanwang.kau.kpref.KPrefFactoryInMemory -import com.pitchedapps.frost.db.FrostDatabase -import com.pitchedapps.frost.facebook.FbCookie -import com.pitchedapps.frost.injectors.ThemeProvider import com.pitchedapps.frost.prefs.Prefs +import dagger.hilt.android.testing.HiltTestApplication import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement -import org.koin.android.ext.koin.androidContext -import org.koin.android.ext.koin.androidLogger import org.koin.core.component.KoinComponent import org.koin.core.component.get -import org.koin.core.context.startKoin -import org.koin.core.module.Module -import org.koin.dsl.module class FrostTestRunner : AndroidJUnitRunner() { override fun newApplication( @@ -42,7 +33,7 @@ class FrostTestRunner : AndroidJUnitRunner() { className: String?, context: Context? ): Application { - return super.newApplication(cl, FrostTestApp::class.java.name, context) + return super.newApplication(cl, HiltTestApplication::class.java.name, context) } } @@ -58,31 +49,3 @@ class FrostTestRule : TestRule { } } } - -class FrostTestApp : Application() { - - override fun onCreate() { - super.onCreate() - startKoin { - androidLogger() - androidContext(this@FrostTestApp) - modules( - listOf( - FrostDatabase.module(), - prefFactoryModule(), - Prefs.module(), - FbCookie.module(), - ThemeProvider.module() - ) - ) - } - } - - companion object { - fun prefFactoryModule(): Module = module { - single<KPrefFactory> { - KPrefFactoryInMemory - } - } - } -} diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/TestModules.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/TestModules.kt new file mode 100644 index 00000000..176db811 --- /dev/null +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/TestModules.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2021 Allan Wang + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package com.pitchedapps.frost + +import ca.allanwang.kau.kpref.KPrefFactory +import ca.allanwang.kau.kpref.KPrefFactoryInMemory +import com.pitchedapps.frost.prefs.PrefFactoryModule +import dagger.Module +import dagger.Provides +import dagger.hilt.components.SingletonComponent +import dagger.hilt.testing.TestInstallIn + +@Module +@TestInstallIn( + components = [SingletonComponent::class], + replaces = [PrefFactoryModule::class] +) +object PrefFactoryTestModule { + @Provides + fun factory(): KPrefFactory = KPrefFactoryInMemory +} diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/activities/ImageActivityTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/activities/ImageActivityTest.kt index a23cac0b..57441a62 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/activities/ImageActivityTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/activities/ImageActivityTest.kt @@ -26,11 +26,6 @@ import com.pitchedapps.frost.utils.ARG_COOKIE import com.pitchedapps.frost.utils.ARG_IMAGE_URL import com.pitchedapps.frost.utils.ARG_TEXT import com.pitchedapps.frost.utils.isIndirectImageUrl -import kotlin.test.assertEquals -import kotlin.test.assertFalse -import kotlin.test.assertNotNull -import kotlin.test.assertNull -import kotlin.test.assertTrue import okhttp3.internal.closeQuietly import okhttp3.mockwebserver.Dispatcher import okhttp3.mockwebserver.MockResponse @@ -46,6 +41,11 @@ import org.junit.rules.RuleChain import org.junit.rules.TestRule import org.junit.rules.Timeout import org.junit.runner.RunWith +import kotlin.test.assertEquals +import kotlin.test.assertFalse +import kotlin.test.assertNotNull +import kotlin.test.assertNull +import kotlin.test.assertTrue @RunWith(AndroidJUnit4::class) class ImageActivityTest { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/BaseDbTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/BaseDbTest.kt index c028e265..bae56e2f 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/BaseDbTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/BaseDbTest.kt @@ -20,9 +20,9 @@ import android.content.Context import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.runner.RunWith import kotlin.test.AfterTest import kotlin.test.BeforeTest -import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) abstract class BaseDbTest { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CacheDbTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CacheDbTest.kt index 410f92b4..417c6678 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CacheDbTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CacheDbTest.kt @@ -16,11 +16,11 @@ */ package com.pitchedapps.frost.db +import kotlinx.coroutines.runBlocking import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertTrue import kotlin.test.fail -import kotlinx.coroutines.runBlocking class CacheDbTest : BaseDbTest() { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieDbTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieDbTest.kt index 945ac5e6..327ead86 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieDbTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieDbTest.kt @@ -16,10 +16,10 @@ */ package com.pitchedapps.frost.db +import kotlinx.coroutines.runBlocking import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertNull -import kotlinx.coroutines.runBlocking class CookieDbTest : BaseDbTest() { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieMigrationTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieMigrationTest.kt index 6ba6e0b6..8da7c663 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieMigrationTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/CookieMigrationTest.kt @@ -21,8 +21,8 @@ import androidx.room.testing.MigrationTestHelper import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry -import kotlin.test.Test import org.junit.runner.RunWith +import kotlin.test.Test @RunWith(AndroidJUnit4::class) class CookieMigrationTest { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/DatabaseTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/DatabaseTest.kt index 79d7e8f5..49d18b31 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/DatabaseTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/DatabaseTest.kt @@ -17,13 +17,13 @@ package com.pitchedapps.frost.db import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.runner.RunWith +import org.koin.core.error.NoBeanDefFoundException +import org.koin.test.KoinTest import kotlin.reflect.KClass import kotlin.reflect.full.functions import kotlin.test.Test import kotlin.test.assertTrue -import org.junit.runner.RunWith -import org.koin.core.error.NoBeanDefFoundException -import org.koin.test.KoinTest @RunWith(AndroidJUnit4::class) class DatabaseTest : KoinTest { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/GenericDbTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/GenericDbTest.kt index 39b9f513..c911ddf6 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/GenericDbTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/GenericDbTest.kt @@ -18,9 +18,9 @@ package com.pitchedapps.frost.db import com.pitchedapps.frost.facebook.FbItem import com.pitchedapps.frost.facebook.defaultTabs +import kotlinx.coroutines.runBlocking import kotlin.test.Test import kotlin.test.assertEquals -import kotlinx.coroutines.runBlocking class GenericDbTest : BaseDbTest() { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/NotificationDbTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/NotificationDbTest.kt index 60b6ee05..6fb01350 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/db/NotificationDbTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/db/NotificationDbTest.kt @@ -19,11 +19,11 @@ package com.pitchedapps.frost.db import com.pitchedapps.frost.services.NOTIF_CHANNEL_GENERAL import com.pitchedapps.frost.services.NOTIF_CHANNEL_MESSAGES import com.pitchedapps.frost.services.NotificationContent +import kotlinx.coroutines.runBlocking import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse import kotlin.test.assertTrue -import kotlinx.coroutines.runBlocking class NotificationDbTest : BaseDbTest() { diff --git a/app/src/androidTest/kotlin/com/pitchedapps/frost/facebook/FbCookieTest.kt b/app/src/androidTest/kotlin/com/pitchedapps/frost/facebook/FbCookieTest.kt index a39aa6d2..71391b5a 100644 --- a/app/src/androidTest/kotlin/com/pitchedapps/frost/facebook/FbCookieTest.kt +++ b/app/src/androidTest/kotlin/com/pitchedapps/frost/facebook/FbCookieTest.kt @@ -17,8 +17,8 @@ package com.pitchedapps.frost.facebook import android.webkit.CookieManager -import kotlin.test.assertTrue import org.junit.Test +import kotlin.test.assertTrue class FbCookieTest { |