Added Notification permission in our test cases for API level 33.

* Improved our `ZimHostFragmentTest` test to boost the test case speed. It was running in 2 minutes, but after this change, it now completes in 27 seconds.
This commit is contained in:
MohitMaliFtechiz 2024-03-13 17:31:58 +05:30
parent bfdf5c6e88
commit f0eb680d21
5 changed files with 30 additions and 8 deletions

View File

@ -18,8 +18,9 @@
package org.kiwix.kiwixmobile package org.kiwix.kiwixmobile
import android.Manifest.permission import android.Manifest
import android.content.Context import android.content.Context
import android.os.Build
import androidx.test.core.app.ActivityScenario import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
@ -34,10 +35,22 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
abstract class BaseActivityTest { abstract class BaseActivityTest {
open lateinit var activityScenario: ActivityScenario<KiwixMainActivity> open lateinit var activityScenario: ActivityScenario<KiwixMainActivity>
private val permissions = arrayOf( private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
permission.READ_EXTERNAL_STORAGE, arrayOf(
permission.WRITE_EXTERNAL_STORAGE Manifest.permission.POST_NOTIFICATIONS,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.NEARBY_WIFI_DEVICES,
Manifest.permission.ACCESS_NETWORK_STATE
) )
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_NETWORK_STATE
)
}
@get:Rule @get:Rule
var permissionRules: GrantPermissionRule = var permissionRules: GrantPermissionRule =

View File

@ -51,6 +51,7 @@ class LocalFileTransferTest {
private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
arrayOf( arrayOf(
Manifest.permission.POST_NOTIFICATIONS,
Manifest.permission.NEARBY_WIFI_DEVICES Manifest.permission.NEARBY_WIFI_DEVICES
) )
} else { } else {

View File

@ -46,6 +46,7 @@ class PlayStoreRestrictionDialogTest {
private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
arrayOf( arrayOf(
Manifest.permission.POST_NOTIFICATIONS,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.NEARBY_WIFI_DEVICES Manifest.permission.NEARBY_WIFI_DEVICES

View File

@ -52,6 +52,7 @@ class ZimHostFragmentTest {
private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
arrayOf( arrayOf(
Manifest.permission.POST_NOTIFICATIONS,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.NEARBY_WIFI_DEVICES, Manifest.permission.NEARBY_WIFI_DEVICES,

View File

@ -82,12 +82,18 @@ class ZimHostRobot : BaseRobot() {
fun stopServerIfAlreadyStarted() { fun stopServerIfAlreadyStarted() {
try { try {
assertServerStarted() // Check if the "START SERVER" button is visible because, in most scenarios,
stopServer() // this button will appear when the server is already stopped.
// This will expedite our test case, as verifying the visibility of
// non-visible views takes more time due to the try mechanism needed
// to properly retrieve the view.
assertServerStopped()
} catch (exception: Exception) { } catch (exception: Exception) {
// if "START SERVER" button is not visible it means server is started so close it.
stopServer()
Log.i( Log.i(
"ZIM_HOST_FRAGMENT", "ZIM_HOST_FRAGMENT",
"Failed to stop the server, Probably because server is not running" "Stopped the server to perform our test case since it was already running"
) )
} }
} }