Skip to content
This repository was archived by the owner on Sep 3, 2023. It is now read-only.

Commit 88c9fcc

Browse files
committed
Basic UI tests
1 parent 52c6f8d commit 88c9fcc

File tree

2 files changed

+41
-11
lines changed

2 files changed

+41
-11
lines changed

sample/src/androidTest/java/com/afollestad/assentsample/AssentTest.kt

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,73 @@ import android.support.test.rule.ActivityTestRule
1212
import android.support.test.runner.AndroidJUnit4
1313
import android.support.test.uiautomator.UiDevice
1414
import com.afollestad.assentsample.utils.TEXT_ALLOW
15+
import com.afollestad.assentsample.utils.allowCurrentPermission
1516
import com.afollestad.assentsample.utils.assertViewWithTextIsVisible
1617
import com.afollestad.assentsample.utils.denyCurrentPermission
1718
import org.junit.Before
19+
import org.junit.FixMethodOrder
1820
import org.junit.Rule
1921
import org.junit.Test
2022
import org.junit.runner.RunWith
23+
import org.junit.runners.MethodSorters.JVM
24+
import org.junit.runners.MethodSorters.NAME_ASCENDING
2125

2226
@RunWith(AndroidJUnit4::class)
2327
@SdkSuppress(minSdkVersion = 18)
28+
@FixMethodOrder(NAME_ASCENDING)
2429
class AssentTest {
2530

2631
@Rule
2732
@JvmField
28-
var rule = ActivityTestRule(MainActivity::class.java)
33+
var activityRule = ActivityTestRule(MainActivity::class.java)
2934

3035
private lateinit var device: UiDevice
3136

3237
@Before fun setup() {
3338
device = UiDevice.getInstance(getInstrumentation())
3439
}
3540

36-
@Test fun test_basic() {
41+
@Test fun a_test_grant_none() {
3742
onView(withText(R.string.none_granted))
3843
.check(matches(isDisplayed()))
3944
onView(withId(R.id.requestPermissionButton))
4045
.check(matches(isDisplayed()))
4146
.perform(click())
4247

43-
device.assertViewWithTextIsVisible(TEXT_ALLOW, rule.activity)
48+
device.assertViewWithTextIsVisible(TEXT_ALLOW, activityRule.activity)
4449
device.denyCurrentPermission()
4550
device.denyCurrentPermission()
51+
52+
onView(withText(R.string.none_granted))
53+
.check(matches(isDisplayed()))
54+
}
55+
56+
@Test fun b_test_grant_some() {
57+
onView(withText(R.string.none_granted))
58+
.check(matches(isDisplayed()))
59+
onView(withId(R.id.requestPermissionButton))
60+
.check(matches(isDisplayed()))
61+
.perform(click())
62+
63+
device.assertViewWithTextIsVisible(TEXT_ALLOW, activityRule.activity)
64+
device.allowCurrentPermission()
65+
device.denyCurrentPermission()
66+
67+
onView(withText(R.string.some_granted))
68+
.check(matches(isDisplayed()))
69+
}
70+
71+
@Test fun c_test_grant_all() {
72+
onView(withText(R.string.none_granted))
73+
.check(matches(isDisplayed()))
74+
onView(withId(R.id.requestPermissionButton))
75+
.check(matches(isDisplayed()))
76+
.perform(click())
77+
78+
device.assertViewWithTextIsVisible(TEXT_ALLOW, activityRule.activity)
79+
device.allowCurrentPermission()
80+
81+
onView(withText(R.string.all_granted))
82+
.check(matches(isDisplayed()))
4683
}
4784
}

sample/src/androidTest/java/com/afollestad/assentsample/utils/TestUtil.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,6 @@ internal const val TEXT_ALLOW = "ALLOW"
99
internal const val TEXT_DENY = "DENY"
1010
internal const val TEXT_NEVER_ASK_AGAIN = "Never ask again"
1111

12-
private fun sleep(time: Long) {
13-
try {
14-
Thread.sleep(time)
15-
} catch (_: Throwable) {
16-
}
17-
}
18-
1912
internal fun UiDevice.assertViewWithTextIsVisible(
2013
text: String,
2114
context: Activity,
@@ -34,7 +27,7 @@ internal fun UiDevice.assertViewWithTextIsVisible(
3427
}
3528
}
3629

37-
fun UiDevice.allowCurrentPermission(device: UiDevice) {
30+
fun UiDevice.allowCurrentPermission() {
3831
val allowButton = findObject(UiSelector().text(TEXT_ALLOW))
3932
allowButton.click()
4033
}

0 commit comments

Comments
 (0)