Skip to content

Commit

Permalink
Merge pull request #1312 from google/ben/permissions_test_fix
Browse files Browse the repository at this point in the history
[Permissions] Fix tests not working on new emulator targets
  • Loading branch information
bentrengrove committed Aug 31, 2022
2 parents e956c89 + 3f3af30 commit 4d367af
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 19 deletions.
Expand Up @@ -36,11 +36,9 @@ import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import com.google.accompanist.permissions.test.PermissionsTestActivity
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test

@Ignore
@OptIn(ExperimentalPermissionsApi::class)
@FlakyTest(detail = "https://github.com/google/accompanist/issues/490")
@SdkSuppress(minSdkVersion = 23)
Expand Down
Expand Up @@ -21,14 +21,12 @@ import androidx.test.filters.SdkSuppress
import androidx.test.rule.GrantPermissionRule
import com.google.accompanist.permissions.test.EmptyPermissionsTestActivity
import com.google.common.truth.Truth.assertThat
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test

/**
* Simple tests that prove the data comes from the right place
*/
@Ignore
@OptIn(ExperimentalPermissionsApi::class)
@SdkSuppress(minSdkVersion = 23)
class MultiplePermissionsStateTest {
Expand Down
Expand Up @@ -21,14 +21,12 @@ import androidx.test.filters.SdkSuppress
import androidx.test.rule.GrantPermissionRule
import com.google.accompanist.permissions.test.EmptyPermissionsTestActivity
import com.google.common.truth.Truth.assertThat
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test

/**
* Simple tests that prove the data comes from the right place
*/
@Ignore
@OptIn(ExperimentalPermissionsApi::class)
@SdkSuppress(minSdkVersion = 23)
class PermissionStateTest {
Expand Down
Expand Up @@ -28,13 +28,10 @@ import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
import androidx.test.filters.SdkSuppress
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test

@Ignore
@OptIn(ExperimentalPermissionsApi::class)
@SdkSuppress(minSdkVersion = 23)
class RequestMultiplePermissionsTest {
Expand Down Expand Up @@ -89,7 +86,6 @@ class RequestMultiplePermissionsTest {
composeTestRule.onNodeWithText("No permission").assertIsDisplayed()
}

@OptIn(ExperimentalCoroutinesApi::class)
@Test
fun permissionTest_grantInTheBackground() {
composeTestRule.onNodeWithText("No permission").assertIsDisplayed()
Expand Down
Expand Up @@ -29,11 +29,9 @@ import androidx.compose.ui.test.performClick
import androidx.test.filters.FlakyTest
import androidx.test.filters.SdkSuppress
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test

@Ignore
@OptIn(ExperimentalPermissionsApi::class)
@SdkSuppress(minSdkVersion = 23)
class RequestPermissionTest {
Expand Down
Expand Up @@ -78,20 +78,21 @@ internal fun grantPermissionInDialog(
internal fun denyPermissionInDialog(
instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
) {
UiDevice.getInstance(instrumentation).findPermissionButton(
when (Build.VERSION.SDK_INT) {
in 24..28 -> "DENY"
else -> "Deny"
}
).clickForPermission(instrumentation)
val text = when (Build.VERSION.SDK_INT) {
in 24..28 -> "DENY"
in 29..30 -> "Deny"
else -> "Don’t allow"
}
val permissionButton = UiDevice.getInstance(instrumentation).findPermissionButton(text)
permissionButton.clickForPermission(instrumentation)
}

internal fun doNotAskAgainPermissionInDialog(
instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
) {
val uiDevice = UiDevice.getInstance(instrumentation)
when {
Build.VERSION.SDK_INT == 30 -> {
Build.VERSION.SDK_INT >= 30 -> {
denyPermissionInDialog(instrumentation)
}
Build.VERSION.SDK_INT > 28 -> {
Expand Down

0 comments on commit 4d367af

Please sign in to comment.