-
-
Notifications
You must be signed in to change notification settings - Fork 90
/
FindByTests.kt
137 lines (113 loc) · 3.62 KB
/
FindByTests.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package co.joebirch.composeplayground
import androidx.compose.material.Text
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.semantics.SemanticsProperties.TestTag
import androidx.compose.ui.test.*
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.text.input.ImeAction
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class FindByTests {
@get:Rule
val composeTestRule = createComposeRule()
@Before
fun launchContent() {
composeTestRule.setContent {
MaterialTheme {
Surface {
Text(
text = "Hello",
modifier = Modifier.testTag("MyTag")
)
}
}
}
}
@Test
fun testOnNodeWithText() {
composeTestRule.onNodeWithText("Hello")
}
@Test
fun testFindAllByText() {
composeTestRule.onAllNodesWithText("Hello").first().assertIsDisplayed()
}
@Test
fun testFindBySubstring() {
composeTestRule.onNodeWithSubstring("Hello")
}
@Test
fun testFindAllNoesHasTestTag() {
composeTestRule.onAllNodes(hasTestTag("Hello")).first().assertIsDisplayed()
}
@Test
fun testFindAllNoesHasText() {
composeTestRule.onAllNodes(hasText("Hello")).first().assertIsDisplayed()
}
@Test
fun testFindAllNoesHasClickAction() {
composeTestRule.onAllNodes(hasClickAction()).first().assertIsDisplayed()
}
@Test
fun testFindAllNoesHasNoClickAction() {
composeTestRule.onAllNodes(hasNoClickAction()).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasScrollAction() {
composeTestRule.onAllNodes(hasScrollAction()).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasNoScrollAction() {
composeTestRule.onAllNodes(hasNoScrollAction()).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasImeAction() {
composeTestRule.onAllNodes(hasImeAction(ImeAction.Done)).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasValue() {
composeTestRule.onAllNodes(hasValue("some_value")).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasAnyChild() {
composeTestRule.onAllNodes(hasAnyChild(isEnabled())).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasAnyAncestor() {
composeTestRule.onAllNodes(hasAnyAncestor(isEnabled())).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasAnyDescendant() {
composeTestRule.onAllNodes(hasAnyDescendant(isEnabled())).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasAnySibling() {
composeTestRule.onAllNodes(hasAnySibling(isEnabled())).first().assertIsDisplayed()
}
@Test
fun testFindAllNodesHasParent() {
composeTestRule.onAllNodes(hasParent(isEnabled())).first().assertIsDisplayed()
}
@Test
fun testFindByTag() {
composeTestRule.onNodeWithTag("MyTag").assertIsDisplayed()
}
@Test
fun testFindAllByTag() {
composeTestRule.onAllNodesWithTag("MyTag").first().assertIsDisplayed()
}
@Test
fun testFindByLabel() {
composeTestRule.onNodeWithLabel("Hello")
}
@Test
fun testFindAllByLabel() {
composeTestRule.onAllNodesWithLabel("Hello").first().assertIsDisplayed()
}
}