From 3d77f397f6bf731df7121049517f765561fb93db Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 26 Aug 2020 23:43:10 +0530 Subject: [PATCH] Expand UI tests for addition Signed-off-by: Harsh Shandilya --- .../dev/msfjarvis/todo/MainActivityTest.kt | 30 ++++++++++++------- .../java/dev/msfjarvis/todo/MainActivity.kt | 3 ++ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/app/src/androidTest/java/dev/msfjarvis/todo/MainActivityTest.kt b/app/src/androidTest/java/dev/msfjarvis/todo/MainActivityTest.kt index 1407a345..f18477ec 100644 --- a/app/src/androidTest/java/dev/msfjarvis/todo/MainActivityTest.kt +++ b/app/src/androidTest/java/dev/msfjarvis/todo/MainActivityTest.kt @@ -2,9 +2,11 @@ package dev.msfjarvis.todo import androidx.ui.test.android.createAndroidComposeRule import androidx.ui.test.assertIsDisplayed +import androidx.ui.test.hasTestTag +import androidx.ui.test.onNode import androidx.ui.test.onNodeWithText +import androidx.ui.test.performClick import dev.msfjarvis.todo.ui.TodoTheme -import org.junit.Before import org.junit.Rule import org.junit.Test @@ -13,17 +15,25 @@ class MainActivityTest { @get:Rule val composeTestRule = createAndroidComposeRule(disableTransitions = true) - @Before - fun setUp() { - composeTestRule.setContent { - TodoTheme { - TodoApp() - } - } - } - @Test fun test_default_item() { + composeTestRule.setContent { + TodoTheme { + TodoApp() + } + } onNodeWithText("Default item").assertIsDisplayed() } + + @Test + fun test_item_addition() { + composeTestRule.setContent { + TodoTheme { + TodoApp() + } + } + onNodeWithText("Default item").assertIsDisplayed() + onNode(hasTestTag("fab")).performClick() + onNodeWithText("Item 2").assertIsDisplayed() + } } diff --git a/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt b/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt index 8036e4dd..98ae9cd9 100644 --- a/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt +++ b/app/src/main/java/dev/msfjarvis/todo/MainActivity.kt @@ -16,6 +16,8 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateListOf import androidx.compose.ui.Modifier import androidx.compose.ui.platform.setContent +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.testTag import androidx.compose.ui.unit.dp import androidx.ui.tooling.preview.Preview import dev.msfjarvis.todo.data.TodoItem @@ -47,6 +49,7 @@ fun TodoApp() { items.add(TodoItem("Item ${items.size + 1}")) }, elevation = 8.dp, + modifier = Modifier.semantics { testTag = "fab" } ) { Icon(asset = Icons.Filled.ExposurePlus1, tint = MaterialTheme.colors.onSurface) }