Expand UI tests for addition

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-08-26 23:43:10 +05:30
parent 2c0b4fc072
commit 3d77f397f6
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
2 changed files with 23 additions and 10 deletions

View file

@ -2,9 +2,11 @@ package dev.msfjarvis.todo
import androidx.ui.test.android.createAndroidComposeRule import androidx.ui.test.android.createAndroidComposeRule
import androidx.ui.test.assertIsDisplayed import androidx.ui.test.assertIsDisplayed
import androidx.ui.test.hasTestTag
import androidx.ui.test.onNode
import androidx.ui.test.onNodeWithText import androidx.ui.test.onNodeWithText
import androidx.ui.test.performClick
import dev.msfjarvis.todo.ui.TodoTheme import dev.msfjarvis.todo.ui.TodoTheme
import org.junit.Before
import org.junit.Rule import org.junit.Rule
import org.junit.Test import org.junit.Test
@ -13,17 +15,25 @@ class MainActivityTest {
@get:Rule @get:Rule
val composeTestRule = createAndroidComposeRule<MainActivity>(disableTransitions = true) val composeTestRule = createAndroidComposeRule<MainActivity>(disableTransitions = true)
@Before
fun setUp() {
composeTestRule.setContent {
TodoTheme {
TodoApp()
}
}
}
@Test @Test
fun test_default_item() { fun test_default_item() {
composeTestRule.setContent {
TodoTheme {
TodoApp()
}
}
onNodeWithText("Default item").assertIsDisplayed() 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()
}
} }

View file

@ -16,6 +16,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateListOf
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.setContent 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.compose.ui.unit.dp
import androidx.ui.tooling.preview.Preview import androidx.ui.tooling.preview.Preview
import dev.msfjarvis.todo.data.TodoItem import dev.msfjarvis.todo.data.TodoItem
@ -47,6 +49,7 @@ fun TodoApp() {
items.add(TodoItem("Item ${items.size + 1}")) items.add(TodoItem("Item ${items.size + 1}"))
}, },
elevation = 8.dp, elevation = 8.dp,
modifier = Modifier.semantics { testTag = "fab" }
) { ) {
Icon(asset = Icons.Filled.ExposurePlus1, tint = MaterialTheme.colors.onSurface) Icon(asset = Icons.Filled.ExposurePlus1, tint = MaterialTheme.colors.onSurface)
} }