diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 7a69d4e..7ad2996 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -56,6 +56,8 @@ kotlin { implementation(kotlin("test")) implementation(libs.kotest.assertions.core) implementation(libs.kotest.assertions.json) + @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) + implementation(compose.uiTest) } } val desktopTest by getting{ @@ -71,6 +73,7 @@ kotlin { implementation(libs.androidx.test.junit) implementation(libs.androidx.test.runner) implementation(libs.kotest.assertions.core) + implementation(libs.compose.ui.test) } } val androidUnitTest by getting { @@ -78,6 +81,7 @@ kotlin { implementation(kotlin("test")) implementation(libs.robolectric) implementation(libs.androidx.test.core.ktx) + implementation(libs.compose.ui.test) } } } diff --git a/composeApp/src/desktopTest/kotlin/view/ItemCardMakerTest.kt b/composeApp/src/desktopTest/kotlin/view/ItemCardMakerTest.kt new file mode 100644 index 0000000..5229a67 --- /dev/null +++ b/composeApp/src/desktopTest/kotlin/view/ItemCardMakerTest.kt @@ -0,0 +1,36 @@ +package view + +import androidx.compose.runtime.mutableStateOf +import androidx.compose.ui.test.ExperimentalTestApi +import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.onNodeWithText +import androidx.compose.ui.test.runComposeUiTest +import model.Item +import org.junit.Test + +class ItemCardMakerTest { + + @OptIn(ExperimentalTestApi::class) + @Test + fun testItemCardMakerIncludesContent() = runComposeUiTest { + val itemContent = "::ITEMS CONTENT::" + val item = Item(itemContent) + val parentItems = mutableListOf() + val parentItemsState = mutableStateOf(parentItems) + val selectedCard = mutableStateOf(null) + val statusText = mutableStateOf("") + + setContent { + ItemCardMaker( + item, + parentItems, + parentItemsState, + selectedCard, + statusText + ).Compose() + } + + onNodeWithText(itemContent) + .assertIsDisplayed() + } +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a80d47f..7b08641 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,6 +22,7 @@ androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" } compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" } +compose-ui-test = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose" } kotest-assertions-json = { module = "io.kotest:kotest-assertions-json", version.ref = "kotest" } mockk = { module = "io.mockk:mockk", version.ref = "mockk" } robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }