The new permissions scheme introduced by Android Marshmallow requires checking for specific permissions at runtime, which implies the need to provide different flows dependi
If you need to set a permission for a single test or during runtime rather than a rule you can use this:
PermissionRequester().apply {
addPermissions(android.Manifest.permission.RECORD_AUDIO)
requestPermissions()
}
e.g.
@Test
fun openWithGrantedPermission_NavigatesHome() {
launchFragmentInContainer().onFragment {
setViewNavController(it.requireView(), mockNavController)
PermissionRequester().apply {
addPermissions(android.Manifest.permission.RECORD_AUDIO)
requestPermissions()
}
}
verify {
mockNavController.navigate(R.id.action_permissionsFragment_to_homeFragment)
}
}