diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e2e2a9b..38e3e75 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,7 +7,6 @@ plugins { alias(libs.plugins.detekt) alias(libs.plugins.ksp) alias(libs.plugins.compose.compiler) - alias(libs.plugins.junit5) alias(libs.plugins.jetbrains.kotlin.serialization) } @@ -89,9 +88,8 @@ dependencies { ksp(libs.androidx.room.compiler) implementation(libs.androidx.room.ktx) - implementation(libs.coil) implementation(libs.coil.compose) - implementation(libs.coil.gif) + runtimeOnly(libs.coil.gif) implementation(libs.exo.player) @@ -103,7 +101,6 @@ dependencies { implementation(libs.timber) - testImplementation(libs.jupiter) testImplementation(libs.jupiter.api) testRuntimeOnly(libs.jupiter.engine) testImplementation(libs.jupiter.params) @@ -115,7 +112,6 @@ dependencies { testImplementation(project(":sharedTestCode")) implementation(libs.androidx.test.core) testImplementation(libs.mockito.core) - testImplementation(libs.mockito.kotlin) testImplementation(libs.androidx.arch.core) androidTestImplementation(composeBom) @@ -123,16 +119,12 @@ dependencies { androidTestImplementation(libs.androidx.arch.core) androidTestImplementation(libs.androidx.compose.ui.test) androidTestImplementation(libs.coroutine.test) - androidTestImplementation(libs.mockito.android) - androidTestImplementation(libs.mockito.kotlin) androidTestImplementation(libs.turbine) androidTestImplementation(libs.truth) androidTestImplementation(libs.androidx.test.core) androidTestImplementation(libs.androidx.compose.material3) androidTestImplementation(libs.androidx.test.runner) - androidTestImplementation(libs.androidx.test.rules) - androidTestImplementation(libs.mock.webserver) - debugImplementation(libs.androidx.compose.ui.manifest) + debugRuntimeOnly(libs.androidx.compose.ui.manifest) androidTestImplementation(libs.hilt.android.testing) kspAndroidTest(libs.hilt.android.comp) androidTestImplementation(project(":sharedTestCode")) diff --git a/app/src/test/kotlin/de/entikore/composedex/ui/screen/type/TypeViewModelTest.kt b/app/src/test/kotlin/de/entikore/composedex/ui/screen/type/TypeViewModelTest.kt index 356bd6d..e6a4715 100644 --- a/app/src/test/kotlin/de/entikore/composedex/ui/screen/type/TypeViewModelTest.kt +++ b/app/src/test/kotlin/de/entikore/composedex/ui/screen/type/TypeViewModelTest.kt @@ -15,7 +15,6 @@ */ package de.entikore.composedex.ui.screen.type -import androidx.lifecycle.SavedStateHandle import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import de.entikore.composedex.MainCoroutineRule @@ -40,7 +39,6 @@ import kotlinx.coroutines.test.runTest import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith -import org.mockito.Mock import org.mockito.Mockito.mock @OptIn(ExperimentalCoroutinesApi::class) @@ -53,9 +51,6 @@ class TypeViewModelTest { private lateinit var saveRemoteImageUseCase: FakeSaveRemoteImageUseCase private lateinit var setAsFavouriteUseCase: SetAsFavouriteUseCase - @Mock - private lateinit var mockSavedStateHandle: SavedStateHandle - private lateinit var viewModel: TypeViewModel private val fakeTypeRepository = FakeTypeRepository() @@ -66,7 +61,6 @@ class TypeViewModelTest { getPokemonOfTypeUseCase = GetPokemonOfTypeUseCase(fakeTypeRepository) saveRemoteImageUseCase = FakeSaveRemoteImageUseCase() setAsFavouriteUseCase = mock() - mockSavedStateHandle = mock(SavedStateHandle::class.java) } @Test diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0cce9b2..9035556 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,37 +6,35 @@ targetSdk = "36" minSdk = "24" # Dependency versions -androidGradlePlugin = "8.11.0" -androidxComposeBom = "2025.06.01" -androidxTest = "1.6.1" -androidxTestRunner = "1.6.2" +androidGradlePlugin = "8.12.0" +androidxComposeBom = "2025.08.00" +androidxTest = "1.7.0" +androidxTestRunner = "1.7.0" archTesting = "2.2.0" -coil = "3.2.0" -coreKtx = "1.16.0" +coil = "3.3.0" +coreKtx = "1.17.0" coreSplash = "1.0.1" coroutineTest = "1.10.2" dataStore = "1.1.7" detekt = "1.23.8" -detektCompose = "0.4.22" -exoPlayer = "1.7.1" -hiltAndroid = "2.56.2" +detektCompose = "0.4.27" +exoPlayer = "1.8.0" +hiltAndroid = "2.57" hiltNavigation = "1.2.0" -hiltTest = "2.56.2" -junit5Plugin = "1.13.0.0" -junit5 = "5.13.2" -junitVersion = "1.2.1" +hiltTest = "2.57" +junit5Plugin = "1.13.1.0" +junit5 = "5.13.4" +junitVersion = "1.3.0" konsist = "0.17.3" -kotlinAndroid = "2.2.0" -kotlinSerialization = "2.1.21" -kotlinxSerializationCore = "1.8.1" -ksp = "2.2.0-2.0.2" -lifecycleViewmodelNav3 = "1.0.0-alpha01" -mockitoCore = "5.18.0" -mockitoAndroid = "5.18.0" -mockitoKotlin = "5.4.0" -mockwebserver = "4.12.0" +kotlinAndroid = "2.2.10" +kotlinSerialization = "2.2.10" +kotlinxSerializationCore = "1.9.0" +ksp = "2.2.10-2.0.2" +lifecycleViewmodelNav3 = "1.0.0-alpha04" +mockitoCore = "5.19.0" +mockwebserver = "5.1.0" moshi = "1.15.2" -nav3Core = "1.0.0-alpha01" +nav3Core = "1.0.0-alpha07" retrofit = "3.0.0" room = "2.7.2" timber = "5.0.1" @@ -64,7 +62,6 @@ androidx-room-compiler = { group = "androidx.room", name = "room-compiler", vers androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" } androidx-test-core = { group = "androidx.test", name = "core-ktx", version.ref = "androidxTest" } -coil = { group = "io.coil-kt.coil3", name = "coil", version.ref = "coil" } coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" } coil-gif = { group = "io.coil-kt.coil3", name = "coil-gif", version.ref = "coil" } @@ -82,7 +79,6 @@ timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "tim # Development Environment Dependencies androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidxTestRunner" } -androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidxTest" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } androidx-arch-core = { group = "androidx.arch.core", name = "core-testing", version.ref = "archTesting" } @@ -94,7 +90,6 @@ detekt-compose = { group = "io.nlopez.compose.rules", name= "detekt", version.re hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hiltTest"} hilt-android-comp = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hiltTest"} -jupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit5" } jupiter-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit5" } jupiter-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit5" } jupiter-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junit5" } @@ -103,8 +98,6 @@ konsist = { group = "com.lemonappdev", name = "konsist", version.ref = "konsist" kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinxSerializationCore" } mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockitoCore" } -mockito-android = { group = "org.mockito", name = "mockito-android", version.ref = "mockitoAndroid" } -mockito-kotlin = { group = "org.mockito.kotlin", name = "mockito-kotlin", version.ref = "mockitoKotlin" } mock-webserver = { group = "com.squareup.okhttp3", name = "mockwebserver", version.ref = "mockwebserver"} truth = { group = "com.google.truth", name = "truth", version.ref = "truth"}