From 78c8d737748746997d48d08455b7367acadd0547 Mon Sep 17 00:00:00 2001 From: Anthony Date: Thu, 4 Apr 2024 22:09:34 +0200 Subject: [PATCH] test(connector): add test for Koin modules --- connector/composeApp/build.gradle.kts | 21 ++++++++++++++++ .../kotlin/di/CheckKoinModulesTest.kt | 25 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 connector/composeApp/src/desktopTest/kotlin/di/CheckKoinModulesTest.kt diff --git a/connector/composeApp/build.gradle.kts b/connector/composeApp/build.gradle.kts index dd80d2b..4686e25 100644 --- a/connector/composeApp/build.gradle.kts +++ b/connector/composeApp/build.gradle.kts @@ -12,6 +12,9 @@ val kotlinxVersion = "1.8.0" val koinVersion = "3.5.3" val kodeinVersion = "7.21.2" +// Testing Versions +val jupyterVersion = "5.10.1" + kotlin { jvm("desktop") jvmToolchain(21) @@ -60,6 +63,24 @@ kotlin { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$kotlinxVersion") } + + // Testing + val desktopTest by getting + commonTest.dependencies { + implementation(kotlin("test")) + + @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) + implementation(compose.uiTest) + + implementation("org.junit.jupiter:junit-jupiter:$jupyterVersion") + } + desktopTest.dependencies { + implementation(compose.desktop.uiTestJUnit4) + implementation(compose.desktop.currentOs) + + implementation("org.junit.jupiter:junit-jupiter:$jupyterVersion") + implementation("io.insert-koin:koin-test:$koinVersion") + } } } diff --git a/connector/composeApp/src/desktopTest/kotlin/di/CheckKoinModulesTest.kt b/connector/composeApp/src/desktopTest/kotlin/di/CheckKoinModulesTest.kt new file mode 100644 index 0000000..0335253 --- /dev/null +++ b/connector/composeApp/src/desktopTest/kotlin/di/CheckKoinModulesTest.kt @@ -0,0 +1,25 @@ +package di + +import org.koin.dsl.koinApplication +import org.koin.test.KoinTest +import org.koin.test.check.checkModules +import kotlin.test.Test + +class CheckKoinModulesTest : KoinTest { + + /** + * Launches and runs all modules. + * + * See [Koin Docs](https://insert-koin.io/docs/reference/koin-test/checkmodules) on more information + */ + @Test + fun verifyKoinApp() { + koinApplication { + modules( + commonModule(), + viewModelModule() + ) + checkModules() + } + } +}