mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
Refactored the UI test cases according to compose based navigation.
This commit is contained in:
parent
4d97eeebc8
commit
23e1dcdbdc
@ -51,6 +51,7 @@ import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.KiwixIdlingResource
|
||||
import org.kiwix.libkiwix.Book
|
||||
import org.kiwix.libzim.Archive
|
||||
@ -138,7 +139,7 @@ class ObjectBoxToLibkiwixMigratorTest : BaseActivityTest() {
|
||||
"en",
|
||||
SharedPreferenceUtil(context)
|
||||
)
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
}
|
||||
boxStore = DatabaseModule.boxStore
|
||||
|
@ -54,6 +54,7 @@ import org.kiwix.kiwixmobile.core.utils.LanguageUtils
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class ObjectBoxToRoomMigratorTest {
|
||||
@ -90,7 +91,7 @@ class ObjectBoxToRoomMigratorTest {
|
||||
"en",
|
||||
SharedPreferenceUtil(context)
|
||||
)
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
}
|
||||
kiwixRoomDatabase =
|
||||
|
@ -47,7 +47,7 @@ import org.junit.BeforeClass
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -59,6 +59,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.KiwixIdlingResource.Companion.getInstance
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
@ -128,7 +129,7 @@ class DownloadTest : BaseActivityTest() {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
try {
|
||||
// delete all the ZIM files showing in the LocalLibrary
|
||||
@ -159,7 +160,7 @@ class DownloadTest : BaseActivityTest() {
|
||||
)
|
||||
}
|
||||
UiThreadStatement.runOnUiThread {
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
// refresh the local library list to show the downloaded zim file
|
||||
library { refreshList(composeTestRule) }
|
||||
@ -179,7 +180,7 @@ class DownloadTest : BaseActivityTest() {
|
||||
fun testPauseAndResumeInOtherLanguage() {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
try {
|
||||
// delete all the ZIM files showing in the LocalLibrary
|
||||
@ -192,7 +193,7 @@ class DownloadTest : BaseActivityTest() {
|
||||
downloadRobot {
|
||||
// change the application language
|
||||
topLevel {
|
||||
clickSettingsOnSideNav {
|
||||
clickSettingsOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
clickLanguagePreference(composeTestRule)
|
||||
assertLanguagePrefDialogDisplayed(composeTestRule)
|
||||
selectDeviceDefaultLanguage(composeTestRule)
|
||||
@ -213,7 +214,7 @@ class DownloadTest : BaseActivityTest() {
|
||||
stopDownloadIfAlreadyStarted(composeTestRule)
|
||||
// select the default device language to perform other test cases.
|
||||
topLevel {
|
||||
clickSettingsOnSideNav {
|
||||
clickSettingsOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
clickLanguagePreference(composeTestRule)
|
||||
assertLanguagePrefDialogDisplayed(composeTestRule)
|
||||
selectDeviceDefaultLanguage(composeTestRule)
|
||||
|
@ -37,7 +37,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -46,6 +45,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
|
||||
class ErrorActivityTest : BaseActivityTest() {
|
||||
@Rule(order = RETRY_RULE_ORDER)
|
||||
@ -106,7 +106,7 @@ class ErrorActivityTest : BaseActivityTest() {
|
||||
@Test
|
||||
fun verifyErrorActivity() {
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.helpFragment)
|
||||
it.navigate(KiwixDestination.Help.route)
|
||||
}
|
||||
errorActivity {
|
||||
assertSendDiagnosticReportDisplayed(composeTestRule)
|
||||
@ -116,7 +116,7 @@ class ErrorActivityTest : BaseActivityTest() {
|
||||
clickOnNoThanksButton(composeTestRule)
|
||||
// Handle the app restart explicitly. Since test case does not handle the app restart.
|
||||
activityScenario = ActivityScenario.launch(KiwixMainActivity::class.java).onActivity {
|
||||
it.navigate(R.id.helpFragment)
|
||||
it.navigate(KiwixDestination.Help.route)
|
||||
}
|
||||
// Assert HelpFragment is visible or not after clicking on the "No, Thanks" button.
|
||||
assertSendDiagnosticReportDisplayed(composeTestRule)
|
||||
|
@ -31,7 +31,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -40,6 +39,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.KiwixIdlingResource
|
||||
|
||||
class HelpFragmentTest : BaseActivityTest() {
|
||||
@ -83,7 +83,7 @@ class HelpFragmentTest : BaseActivityTest() {
|
||||
fun verifyHelpActivity() {
|
||||
setShowCopyMoveToPublicDirectory(false)
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.helpFragment)
|
||||
it.navigate(KiwixDestination.Help.route)
|
||||
}
|
||||
help {
|
||||
clickOnWhatDoesKiwixDo(composeTestRule)
|
||||
@ -105,7 +105,7 @@ class HelpFragmentTest : BaseActivityTest() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
setShowCopyMoveToPublicDirectory(true)
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.helpFragment)
|
||||
it.navigate(KiwixDestination.Help.route)
|
||||
}
|
||||
help {
|
||||
clickOnWhatDoesKiwixDo(composeTestRule)
|
||||
|
@ -41,7 +41,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -53,6 +52,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
|
||||
@LargeTest
|
||||
class InitialDownloadTest : BaseActivityTest() {
|
||||
@ -115,7 +115,7 @@ class InitialDownloadTest : BaseActivityTest() {
|
||||
fun initialDownloadTest() {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS_FOR_SEARCH_TEST.toLong())
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
// delete all the ZIM files showing in the LocalLibrary
|
||||
// screen to properly test the scenario.
|
||||
|
@ -37,7 +37,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -46,6 +45,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
|
||||
class IntroFragmentTest : BaseActivityTest() {
|
||||
@Rule(order = RETRY_RULE_ORDER)
|
||||
@ -73,7 +73,7 @@ class IntroFragmentTest : BaseActivityTest() {
|
||||
@Test
|
||||
fun viewIsSwipeableAndNavigatesToMain() {
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.introFragment)
|
||||
it.navigate(KiwixDestination.Intro.route)
|
||||
}
|
||||
intro {
|
||||
swipeLeft(composeTestRule)
|
||||
|
@ -44,6 +44,7 @@ import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.kiwix.kiwixmobile.core.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -78,6 +79,7 @@ class LanguageFragmentTest {
|
||||
var permissionRules: GrantPermissionRule =
|
||||
GrantPermissionRule.grant(*permissions)
|
||||
|
||||
lateinit var kiwixMainActivity: KiwixMainActivity
|
||||
private val instrumentation: Instrumentation by lazy(InstrumentationRegistry::getInstrumentation)
|
||||
|
||||
init {
|
||||
@ -116,6 +118,7 @@ class LanguageFragmentTest {
|
||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||
moveToState(Lifecycle.State.RESUMED)
|
||||
onActivity {
|
||||
kiwixMainActivity = it
|
||||
handleLocaleChange(
|
||||
it,
|
||||
"en",
|
||||
@ -127,7 +130,7 @@ class LanguageFragmentTest {
|
||||
|
||||
@Test
|
||||
fun testLanguageFragment() {
|
||||
StandardActions.closeDrawer() // close the drawer if open before running the test cases.
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity) // close the drawer if open before running the test cases.
|
||||
downloadRobot {
|
||||
clickDownloadOnBottomNav()
|
||||
waitForDataToLoad(composeTestRule = composeTestRule)
|
||||
|
@ -42,7 +42,7 @@ import org.hamcrest.Matchers.anyOf
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -51,6 +51,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.library
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.StandardActions
|
||||
|
||||
class LocalFileTransferTest {
|
||||
@ -82,6 +83,8 @@ class LocalFileTransferTest {
|
||||
var permissionRules: GrantPermissionRule =
|
||||
GrantPermissionRule.grant(*permissions)
|
||||
|
||||
lateinit var kiwixMainActivity: KiwixMainActivity
|
||||
|
||||
private val instrumentation: Instrumentation by lazy {
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
}
|
||||
@ -119,6 +122,7 @@ class LocalFileTransferTest {
|
||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||
moveToState(Lifecycle.State.RESUMED)
|
||||
onActivity {
|
||||
kiwixMainActivity = it
|
||||
handleLocaleChange(
|
||||
it,
|
||||
"en",
|
||||
@ -126,10 +130,10 @@ class LocalFileTransferTest {
|
||||
)
|
||||
}
|
||||
}
|
||||
StandardActions.closeDrawer()
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity)
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
library {
|
||||
assertGetZimNearbyDeviceDisplayed(composeTestRule)
|
||||
@ -153,15 +157,16 @@ class LocalFileTransferTest {
|
||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||
moveToState(Lifecycle.State.RESUMED)
|
||||
onActivity {
|
||||
kiwixMainActivity = it
|
||||
handleLocaleChange(
|
||||
it,
|
||||
"en",
|
||||
SharedPreferenceUtil(context)
|
||||
)
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
}
|
||||
StandardActions.closeDrawer()
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity)
|
||||
library {
|
||||
assertGetZimNearbyDeviceDisplayed(composeTestRule)
|
||||
clickFileTransferIcon(composeTestRule) {
|
||||
@ -187,10 +192,11 @@ class LocalFileTransferTest {
|
||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||
moveToState(Lifecycle.State.RESUMED)
|
||||
onActivity {
|
||||
it.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity = it
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
}
|
||||
StandardActions.closeDrawer()
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity)
|
||||
library {
|
||||
// test show case view show once.
|
||||
clickFileTransferIcon(composeTestRule) {
|
||||
|
@ -25,7 +25,6 @@ import androidx.core.content.edit
|
||||
import androidx.documentfile.provider.DocumentFile
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.internal.runner.junit4.statement.UiThreadStatement
|
||||
@ -51,10 +50,10 @@ import org.kiwix.kiwixmobile.core.utils.TestingUtils.RETRY_RULE_ORDER
|
||||
import org.kiwix.kiwixmobile.core.utils.dialog.AlertDialogShower
|
||||
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.CopyMoveFileHandler
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.local.LocalLibraryFragment
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.waitUntilTimeout
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.zimManager.Fat32Checker
|
||||
import org.kiwix.kiwixmobile.zimManager.FileWritingFileSystemChecker
|
||||
import java.io.File
|
||||
@ -115,7 +114,7 @@ class CopyMoveFileHandlerTest : BaseActivityTest() {
|
||||
selectedFile = getSelectedFile()
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
composeTestRule.waitUntilTimeout()
|
||||
// test with first launch
|
||||
@ -154,7 +153,7 @@ class CopyMoveFileHandlerTest : BaseActivityTest() {
|
||||
selectedFile = getSelectedFile()
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
composeTestRule.waitUntilTimeout()
|
||||
// test with first launch
|
||||
@ -196,37 +195,39 @@ class CopyMoveFileHandlerTest : BaseActivityTest() {
|
||||
|
||||
private fun assertZimFileAddedInTheLocalLibrary() {
|
||||
UiThreadStatement.runOnUiThread {
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
copyMoveFileHandler { assertZimFileAddedInTheLocalLibrary(composeTestRule) }
|
||||
}
|
||||
|
||||
private fun showMoveFileToPublicDirectoryDialog() {
|
||||
kiwixMainActivity.lifecycleScope.launch {
|
||||
val navHostFragment: NavHostFragment =
|
||||
kiwixMainActivity.supportFragmentManager
|
||||
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
val localLibraryFragment =
|
||||
navHostFragment.childFragmentManager.fragments[0] as LocalLibraryFragment
|
||||
localLibraryFragment.copyMoveFileHandler?.showMoveFileToPublicDirectoryDialog(
|
||||
Uri.fromFile(selectedFile),
|
||||
DocumentFile.fromFile(selectedFile),
|
||||
fragmentManager = localLibraryFragment.parentFragmentManager
|
||||
)
|
||||
}
|
||||
// TODO refactore this with compose based navController.
|
||||
// kiwixMainActivity.lifecycleScope.launch {
|
||||
// val navHostFragment: NavHostFragment =
|
||||
// kiwixMainActivity.navController
|
||||
// .findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
// val localLibraryFragment =
|
||||
// navHostFragment.childFragmentManager.fragments[0] as LocalLibraryFragment
|
||||
// localLibraryFragment.copyMoveFileHandler?.showMoveFileToPublicDirectoryDialog(
|
||||
// Uri.fromFile(selectedFile),
|
||||
// DocumentFile.fromFile(selectedFile),
|
||||
// fragmentManager = localLibraryFragment.parentFragmentManager
|
||||
// )
|
||||
// }
|
||||
}
|
||||
|
||||
private fun tryOpeningInvalidZimFiles(uri: Uri) {
|
||||
UiThreadStatement.runOnUiThread {
|
||||
val navHostFragment: NavHostFragment =
|
||||
kiwixMainActivity.supportFragmentManager
|
||||
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
val localLibraryFragment =
|
||||
navHostFragment.childFragmentManager.fragments[0] as LocalLibraryFragment
|
||||
localLibraryFragment.handleSelectedFileUri(
|
||||
uri,
|
||||
)
|
||||
}
|
||||
// TODO refactore this with compose based navController.
|
||||
// UiThreadStatement.runOnUiThread {
|
||||
// val navHostFragment: NavHostFragment =
|
||||
// kiwixMainActivity.supportFragmentManager
|
||||
// .findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
// val localLibraryFragment =
|
||||
// navHostFragment.childFragmentManager.fragments[0] as LocalLibraryFragment
|
||||
// localLibraryFragment.handleSelectedFileUri(
|
||||
// uri,
|
||||
// )
|
||||
// }
|
||||
}
|
||||
|
||||
private fun getSelectedFile(): File {
|
||||
@ -259,7 +260,7 @@ class CopyMoveFileHandlerTest : BaseActivityTest() {
|
||||
fun testGetDestinationFile() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
val selectedFileName = "testCopyMove.zim"
|
||||
deleteAllFilesInDirectory(parentFile)
|
||||
@ -311,7 +312,7 @@ class CopyMoveFileHandlerTest : BaseActivityTest() {
|
||||
selectedFile = getSelectedFile()
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
composeTestRule.waitUntilTimeout()
|
||||
sharedPreferenceUtil.apply {
|
||||
|
@ -43,7 +43,6 @@ import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.jupiter.api.fail
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -52,6 +51,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.local.SELECT_FILE_BUTTON_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -109,7 +109,7 @@ class OpeningFilesFromStorageTest : BaseActivityTest() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && Build.VERSION.SDK_INT != Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
val uri = copyFileToDownloadsFolder(context, fileName)
|
||||
try {
|
||||
@ -141,7 +141,7 @@ class OpeningFilesFromStorageTest : BaseActivityTest() {
|
||||
) {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
val uri = copyFileToDownloadsFolder(context, fileName)
|
||||
try {
|
||||
|
@ -29,6 +29,7 @@ import applyWithViewHierarchyPrinting
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.kiwix.kiwixmobile.BaseRobot
|
||||
import org.kiwix.kiwixmobile.core.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.main.KiwixWebView
|
||||
import org.kiwix.kiwixmobile.core.settings.DIALOG_PREFERENCE_ITEM_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.testFlakyView
|
||||
@ -39,8 +40,8 @@ fun darkModeViewPainter(func: DarkModeViewPainterRobot.() -> Unit) =
|
||||
DarkModeViewPainterRobot().applyWithViewHierarchyPrinting(func)
|
||||
|
||||
class DarkModeViewPainterRobot : BaseRobot() {
|
||||
fun openSettings() {
|
||||
openDrawer()
|
||||
fun openSettings(coreMainActivity: CoreMainActivity) {
|
||||
openDrawer(coreMainActivity)
|
||||
enterSettings()
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,6 @@ import androidx.compose.ui.test.junit4.createComposeRule
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.espresso.accessibility.AccessibilityChecks
|
||||
@ -41,16 +40,16 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.RETRY_RULE_ORDER
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.local.LocalLibraryFragmentDirections
|
||||
import org.kiwix.kiwixmobile.nav.destination.reader.KiwixReaderFragment
|
||||
import org.kiwix.kiwixmobile.settings.settingsRobo
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -123,13 +122,13 @@ class DarkModeViewPainterTest : BaseActivityTest() {
|
||||
private fun openZimFileInReader() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
loadZimFileInReader()
|
||||
}
|
||||
|
||||
private fun toggleDarkMode(enable: Boolean) {
|
||||
darkModeViewPainter(DarkModeViewPainterRobot::openSettings)
|
||||
darkModeViewPainter { openSettings(kiwixMainActivity as CoreMainActivity) }
|
||||
settingsRobo { clickNightModePreference(composeTestRule) }
|
||||
darkModeViewPainter {
|
||||
if (enable) {
|
||||
@ -142,27 +141,28 @@ class DarkModeViewPainterTest : BaseActivityTest() {
|
||||
}
|
||||
|
||||
private fun verifyDarkMode(isEnabled: Boolean) {
|
||||
UiThreadStatement.runOnUiThread {
|
||||
val navHostFragment: NavHostFragment =
|
||||
kiwixMainActivity.supportFragmentManager
|
||||
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
val kiwixReaderFragment =
|
||||
navHostFragment.childFragmentManager.fragments[0] as KiwixReaderFragment
|
||||
val currentWebView = kiwixReaderFragment.getCurrentWebView()
|
||||
currentWebView?.let {
|
||||
darkModeViewPainter {
|
||||
if (isEnabled) {
|
||||
assertNightModeEnabled(it)
|
||||
} else {
|
||||
assertLightModeEnabled(it)
|
||||
}
|
||||
}
|
||||
} ?: run {
|
||||
throw RuntimeException(
|
||||
"Could not check the dark mode enable or not because zim file is not loaded in the reader"
|
||||
)
|
||||
}
|
||||
}
|
||||
// TODO refactor this with compose based navController.
|
||||
// UiThreadStatement.runOnUiThread {
|
||||
// val navHostFragment: NavHostFragment =
|
||||
// kiwixMainActivity.supportFragmentManager
|
||||
// .findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
// val kiwixReaderFragment =
|
||||
// navHostFragment.childFragmentManager.fragments[0] as KiwixReaderFragment
|
||||
// val currentWebView = kiwixReaderFragment.getCurrentWebView()
|
||||
// currentWebView?.let {
|
||||
// darkModeViewPainter {
|
||||
// if (isEnabled) {
|
||||
// assertNightModeEnabled(it)
|
||||
// } else {
|
||||
// assertLightModeEnabled(it)
|
||||
// }
|
||||
// }
|
||||
// } ?: run {
|
||||
// throw RuntimeException(
|
||||
// "Could not check the dark mode enable or not because zim file is not loaded in the reader"
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
private fun loadZimFileInReader() {
|
||||
|
@ -28,6 +28,7 @@ import org.kiwix.kiwixmobile.Findable.StringId.TextId
|
||||
import org.kiwix.kiwixmobile.Findable.ViewId
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.R.string
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.help.HelpRobot
|
||||
import org.kiwix.kiwixmobile.help.help
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.LibraryRobot
|
||||
@ -53,7 +54,6 @@ fun topLevel(func: TopLevelDestinationRobot.() -> Unit) =
|
||||
|
||||
class TopLevelDestinationRobot : BaseRobot() {
|
||||
fun clickReaderOnBottomNav(func: ReaderRobot.() -> Unit) {
|
||||
isVisible(ViewId(R.id.navigation_container))
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
testFlakyView({ onView(withId(R.id.readerFragment)).perform(click()) })
|
||||
reader(func)
|
||||
@ -70,51 +70,54 @@ class TopLevelDestinationRobot : BaseRobot() {
|
||||
onlineLibrary(func)
|
||||
}
|
||||
|
||||
private fun inNavDrawer(navDrawerAction: () -> Unit) {
|
||||
openDrawer()
|
||||
private fun inNavDrawer(coreMainActivity: CoreMainActivity, navDrawerAction: () -> Unit) {
|
||||
openDrawer(coreMainActivity)
|
||||
navDrawerAction.invoke()
|
||||
pressBack()
|
||||
}
|
||||
|
||||
fun clickBookmarksOnNavDrawer(func: BookmarksRobot.() -> Unit) {
|
||||
inNavDrawer {
|
||||
fun clickBookmarksOnNavDrawer(
|
||||
coreMainActivity: CoreMainActivity,
|
||||
func: BookmarksRobot.() -> Unit
|
||||
) {
|
||||
inNavDrawer(coreMainActivity = coreMainActivity) {
|
||||
testFlakyView({ onView(withText(string.bookmarks)).perform(click()) })
|
||||
bookmarks(func)
|
||||
pressBack()
|
||||
}
|
||||
}
|
||||
|
||||
fun clickHistoryOnSideNav(func: HistoryRobot.() -> Unit) {
|
||||
inNavDrawer {
|
||||
fun clickHistoryOnSideNav(coreMainActivity: CoreMainActivity, func: HistoryRobot.() -> Unit) {
|
||||
inNavDrawer(coreMainActivity) {
|
||||
clickOn(TextId(string.history))
|
||||
history(func)
|
||||
pressBack()
|
||||
}
|
||||
}
|
||||
|
||||
fun clickHostBooksOnSideNav(func: ZimHostRobot.() -> Unit) {
|
||||
inNavDrawer {
|
||||
fun clickHostBooksOnSideNav(coreMainActivity: CoreMainActivity, func: ZimHostRobot.() -> Unit) {
|
||||
inNavDrawer(coreMainActivity) {
|
||||
clickOn(TextId(string.menu_wifi_hotspot))
|
||||
zimHost(func)
|
||||
}
|
||||
}
|
||||
|
||||
fun clickSettingsOnSideNav(func: SettingsRobot.() -> Unit) {
|
||||
inNavDrawer {
|
||||
fun clickSettingsOnSideNav(coreMainActivity: CoreMainActivity, func: SettingsRobot.() -> Unit) {
|
||||
inNavDrawer(coreMainActivity) {
|
||||
clickOn(TextId(string.menu_settings))
|
||||
settingsRobo(func)
|
||||
}
|
||||
}
|
||||
|
||||
fun clickHelpOnSideNav(func: HelpRobot.() -> Unit) {
|
||||
inNavDrawer {
|
||||
fun clickHelpOnSideNav(coreMainActivity: CoreMainActivity, func: HelpRobot.() -> Unit) {
|
||||
inNavDrawer(coreMainActivity) {
|
||||
clickOn(TextId(string.menu_help))
|
||||
help(func)
|
||||
}
|
||||
}
|
||||
|
||||
fun clickSupportKiwixOnSideNav() {
|
||||
inNavDrawer {
|
||||
fun clickSupportKiwixOnSideNav(coreMainActivity: CoreMainActivity) {
|
||||
inNavDrawer(coreMainActivity) {
|
||||
clickOn(TextId(string.menu_support_kiwix))
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -55,6 +56,8 @@ class TopLevelDestinationTest : BaseActivityTest() {
|
||||
@get:Rule(order = COMPOSE_TEST_RULE_ORDER)
|
||||
val composeTestRule = createComposeRule()
|
||||
|
||||
lateinit var kiwixMainActivity: KiwixMainActivity
|
||||
|
||||
@Before
|
||||
override fun waitForIdle() {
|
||||
UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()).apply {
|
||||
@ -81,6 +84,7 @@ class TopLevelDestinationTest : BaseActivityTest() {
|
||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||
moveToState(Lifecycle.State.RESUMED)
|
||||
onActivity {
|
||||
kiwixMainActivity = it
|
||||
handleLocaleChange(
|
||||
it,
|
||||
"en",
|
||||
@ -122,20 +126,26 @@ class TopLevelDestinationTest : BaseActivityTest() {
|
||||
assertReceiveFileTitleVisible(composeTestRule)
|
||||
}
|
||||
}
|
||||
clickBookmarksOnNavDrawer {
|
||||
clickBookmarksOnNavDrawer(kiwixMainActivity as CoreMainActivity) {
|
||||
assertBookMarksDisplayed(composeTestRule)
|
||||
clickOnTrashIcon(composeTestRule)
|
||||
assertDeleteBookmarksDialogDisplayed(composeTestRule)
|
||||
}
|
||||
clickHistoryOnSideNav {
|
||||
clickHistoryOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertHistoryDisplayed(composeTestRule)
|
||||
clickOnTrashIcon(composeTestRule)
|
||||
assertDeleteHistoryDialogDisplayed(composeTestRule)
|
||||
}
|
||||
clickHostBooksOnSideNav { assertMenuWifiHotspotDisplayed(composeTestRule) }
|
||||
clickSettingsOnSideNav { assertMenuSettingsDisplayed(composeTestRule) }
|
||||
clickHelpOnSideNav { assertToolbarDisplayed(composeTestRule) }
|
||||
clickSupportKiwixOnSideNav()
|
||||
clickHostBooksOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertMenuWifiHotspotDisplayed(composeTestRule)
|
||||
}
|
||||
clickSettingsOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertMenuSettingsDisplayed(composeTestRule)
|
||||
}
|
||||
clickHelpOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertToolbarDisplayed(composeTestRule)
|
||||
}
|
||||
clickSupportKiwixOnSideNav(kiwixMainActivity as CoreMainActivity)
|
||||
pressBack()
|
||||
}
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
|
||||
|
@ -39,7 +39,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -49,6 +48,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -118,7 +118,7 @@ class LocalLibraryTest : BaseActivityTest() {
|
||||
@Test
|
||||
fun testLocalLibrary() {
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.libraryFragment)
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
library {
|
||||
refreshList(composeTestRule)
|
||||
|
@ -30,7 +30,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -41,6 +40,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
|
||||
class OnlineLibraryFragmentTest : BaseActivityTest() {
|
||||
@Rule(order = RETRY_RULE_ORDER)
|
||||
@ -92,7 +92,7 @@ class OnlineLibraryFragmentTest : BaseActivityTest() {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
it.navigate(R.id.downloadsFragment)
|
||||
it.navigate(KiwixDestination.Downloads.route)
|
||||
}
|
||||
downloadRobot {
|
||||
waitForDataToLoad(composeTestRule = composeTestRule)
|
||||
@ -110,7 +110,7 @@ class OnlineLibraryFragmentTest : BaseActivityTest() {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
it.navigate(R.id.downloadsFragment)
|
||||
it.navigate(KiwixDestination.Downloads.route)
|
||||
}
|
||||
downloadRobot {
|
||||
waitForDataToLoad(composeTestRule = composeTestRule)
|
||||
|
@ -42,7 +42,7 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -54,6 +54,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.StandardActions
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
@ -118,7 +119,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
@Test
|
||||
fun verifyNoteFragment() {
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.notesFragment)
|
||||
it.navigate(KiwixDestination.Notes.route)
|
||||
}
|
||||
note {
|
||||
assertToolbarExist(composeTestRule)
|
||||
@ -131,14 +132,14 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
fun testUserCanSeeNotesForDeletedFiles() {
|
||||
deletePreviouslySavedNotes()
|
||||
loadZimFileInReader("testzim.zim")
|
||||
StandardActions.closeDrawer() // close the drawer if open before running the test cases.
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity) // close the drawer if open before running the test cases.
|
||||
note {
|
||||
clickOnNoteMenuItem(composeTestRule)
|
||||
assertNoteDialogDisplayed(composeTestRule)
|
||||
writeDemoNote(composeTestRule)
|
||||
saveNote(composeTestRule)
|
||||
pressBack()
|
||||
openNoteFragment()
|
||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
||||
assertToolbarExist(composeTestRule)
|
||||
clickOnSavedNote(composeTestRule)
|
||||
clickOnOpenNote(composeTestRule)
|
||||
@ -151,7 +152,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
|
||||
// goto local library fragment to delete the ZIM file
|
||||
UiThreadStatement.runOnUiThread {
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
|
||||
library {
|
||||
@ -161,7 +162,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
}
|
||||
|
||||
note {
|
||||
openNoteFragment()
|
||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
||||
assertToolbarExist(composeTestRule)
|
||||
clickOnSavedNote(composeTestRule)
|
||||
clickOnOpenNote(composeTestRule)
|
||||
@ -185,7 +186,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
writeDemoNote(composeTestRule)
|
||||
saveNote(composeTestRule)
|
||||
pressBack()
|
||||
openNoteFragment()
|
||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
||||
assertToolbarExist(composeTestRule)
|
||||
clickOnSavedNote(composeTestRule)
|
||||
clickOnOpenNote(composeTestRule)
|
||||
@ -208,7 +209,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
writeDemoNote(composeTestRule)
|
||||
saveNote(composeTestRule)
|
||||
pressBack()
|
||||
openNoteFragment()
|
||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
||||
assertToolbarExist(composeTestRule)
|
||||
clickOnSavedNote(composeTestRule)
|
||||
clickOnOpenNote(composeTestRule)
|
||||
@ -246,7 +247,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
private fun deletePreviouslySavedNotes() {
|
||||
// delete the notes if any saved to properly run the test scenario
|
||||
note {
|
||||
openNoteFragment()
|
||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
||||
assertToolbarExist(composeTestRule)
|
||||
clickOnTrashIcon(composeTestRule)
|
||||
assertDeleteNoteDialogDisplayed(composeTestRule)
|
||||
@ -259,7 +260,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
private fun loadZimFileInReader(zimFileName: String) {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
|
||||
val loadFileStream =
|
||||
|
@ -40,6 +40,7 @@ import com.adevinta.android.barista.interaction.BaristaSleepInteractions
|
||||
import org.kiwix.kiwixmobile.BaseRobot
|
||||
import org.kiwix.kiwixmobile.core.R
|
||||
import org.kiwix.kiwixmobile.core.main.ADD_NOTE_TEXT_FILED_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.main.DELETE_MENU_BUTTON_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.main.SAVE_MENU_BUTTON_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.main.reader.TAKE_NOTE_MENU_ITEM_TESTING_TAG
|
||||
@ -128,8 +129,8 @@ class NoteRobot : BaseRobot() {
|
||||
})
|
||||
}
|
||||
|
||||
fun openNoteFragment() {
|
||||
openDrawer()
|
||||
fun openNoteFragment(coreMainActivity: CoreMainActivity) {
|
||||
openDrawer(coreMainActivity)
|
||||
testFlakyView({ onView(withText(R.string.pref_notes)).perform(click()) })
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,7 @@ import applyWithViewHierarchyPrinting
|
||||
import com.adevinta.android.barista.interaction.BaristaSleepInteractions
|
||||
import org.kiwix.kiwixmobile.BaseRobot
|
||||
import org.kiwix.kiwixmobile.core.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.page.DELETE_MENU_ICON_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.page.NO_ITEMS_TEXT_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.page.PAGE_LIST_TEST_TAG
|
||||
@ -143,9 +144,9 @@ class BookmarksRobot : BaseRobot() {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS_FOR_SEARCH_TEST.toLong())
|
||||
}
|
||||
|
||||
fun openBookmarkScreen() {
|
||||
fun openBookmarkScreen(coreMainActivity: CoreMainActivity) {
|
||||
testFlakyView({
|
||||
openDrawer()
|
||||
openDrawer(coreMainActivity)
|
||||
onView(withText(R.string.bookmarks)).perform(click())
|
||||
})
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import androidx.compose.ui.test.junit4.createComposeRule
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.espresso.accessibility.AccessibilityChecks
|
||||
@ -33,16 +33,13 @@ import com.google.android.apps.common.testing.accessibility.framework.Accessibil
|
||||
import com.google.android.apps.common.testing.accessibility.framework.AccessibilityCheckResultUtils.matchesViews
|
||||
import com.google.android.apps.common.testing.accessibility.framework.checks.SpeakableTextPresentCheck
|
||||
import com.google.android.apps.common.testing.accessibility.framework.checks.TouchTargetSizeCheck
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.hamcrest.Matchers.allOf
|
||||
import org.hamcrest.Matchers.anyOf
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.reader.CoreReaderFragment
|
||||
import org.kiwix.kiwixmobile.core.page.bookmark.adapter.LibkiwixBookmarkItem
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -54,8 +51,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.TEST_PAUSE_MS_FOR_DOWNLOAD_TEST
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.waitUntilTimeout
|
||||
import org.kiwix.libkiwix.Book
|
||||
import org.kiwix.libkiwix.Bookmark
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -120,7 +116,7 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
||||
fun testBookmarks() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
kiwixMainActivity.navigate(
|
||||
LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader()
|
||||
.apply { zimFileUri = getZimFile().toUri().toString() }
|
||||
@ -136,7 +132,7 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
||||
pressBack()
|
||||
// Test saving bookmark
|
||||
clickOnSaveBookmarkImage(composeTestRule)
|
||||
openBookmarkScreen()
|
||||
openBookmarkScreen(kiwixMainActivity as CoreMainActivity)
|
||||
assertBookmarkSaved(composeTestRule)
|
||||
pressBack()
|
||||
// Test removing bookmark
|
||||
@ -152,8 +148,13 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
||||
|
||||
@Test
|
||||
fun testBookmarkRemainsSavedOrNot() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
}
|
||||
topLevel {
|
||||
clickBookmarksOnNavDrawer { assertBookmarkSaved(composeTestRule) }
|
||||
clickBookmarksOnNavDrawer(kiwixMainActivity as CoreMainActivity) {
|
||||
assertBookmarkSaved(composeTestRule)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,10 +163,13 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
||||
val zimFile = getZimFile()
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
val navOptions = NavOptions.Builder()
|
||||
.setPopUpTo(KiwixDestination.Reader.route, false)
|
||||
.build()
|
||||
kiwixMainActivity.navigate(
|
||||
LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader()
|
||||
.apply { zimFileUri = zimFile.toUri().toString() }
|
||||
KiwixDestination.Reader.createRoute(zimFileUri = zimFile.toUri().toString()),
|
||||
navOptions
|
||||
)
|
||||
}
|
||||
bookmarks {
|
||||
@ -178,40 +182,41 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
||||
pressBack()
|
||||
}
|
||||
composeTestRule.waitUntilTimeout()
|
||||
val navHostFragment: NavHostFragment =
|
||||
kiwixMainActivity.supportFragmentManager
|
||||
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
val coreReaderFragment = navHostFragment.childFragmentManager.fragments[0] as CoreReaderFragment
|
||||
val libKiwixBook =
|
||||
Book().apply {
|
||||
update(coreReaderFragment.zimReaderContainer?.zimFileReader?.jniKiwixReader)
|
||||
}
|
||||
val bookmarkList = arrayListOf<LibkiwixBookmarkItem>()
|
||||
for (i in 1..500) {
|
||||
val bookmark =
|
||||
Bookmark().apply {
|
||||
bookId = coreReaderFragment.zimReaderContainer?.zimFileReader?.id
|
||||
title = "bookmark$i"
|
||||
url = "http://kiwix.org/demoBookmark$i"
|
||||
bookTitle = libKiwixBook.title
|
||||
}
|
||||
val libkiwixItem =
|
||||
LibkiwixBookmarkItem(
|
||||
bookmark,
|
||||
coreReaderFragment.zimReaderContainer?.zimFileReader?.favicon,
|
||||
coreReaderFragment.zimReaderContainer?.zimFileReader?.zimReaderSource
|
||||
)
|
||||
runBlocking {
|
||||
coreReaderFragment.libkiwixBookmarks?.saveBookmark(libkiwixItem).also {
|
||||
bookmarkList.add(libkiwixItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
bookmarks {
|
||||
// test all the saved bookmarks are showing on the bookmarks screen
|
||||
openBookmarkScreen()
|
||||
testAllBookmarkShowing(bookmarkList, composeTestRule)
|
||||
}
|
||||
// TODO refactor this wih compose based navController.
|
||||
// val navHostFragment: NavHostFragment =
|
||||
// kiwixMainActivity.supportFragmentManager
|
||||
// .findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
// val coreReaderFragment = navHostFragment.childFragmentManager.fragments[0] as CoreReaderFragment
|
||||
// val libKiwixBook =
|
||||
// Book().apply {
|
||||
// update(coreReaderFragment.zimReaderContainer?.zimFileReader?.jniKiwixReader)
|
||||
// }
|
||||
// val bookmarkList = arrayListOf<LibkiwixBookmarkItem>()
|
||||
// for (i in 1..500) {
|
||||
// val bookmark =
|
||||
// Bookmark().apply {
|
||||
// bookId = coreReaderFragment.zimReaderContainer?.zimFileReader?.id
|
||||
// title = "bookmark$i"
|
||||
// url = "http://kiwix.org/demoBookmark$i"
|
||||
// bookTitle = libKiwixBook.title
|
||||
// }
|
||||
// val libkiwixItem =
|
||||
// LibkiwixBookmarkItem(
|
||||
// bookmark,
|
||||
// coreReaderFragment.zimReaderContainer?.zimFileReader?.favicon,
|
||||
// coreReaderFragment.zimReaderContainer?.zimFileReader?.zimReaderSource
|
||||
// )
|
||||
// runBlocking {
|
||||
// coreReaderFragment.libkiwixBookmarks?.saveBookmark(libkiwixItem).also {
|
||||
// bookmarkList.add(libkiwixItem)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// bookmarks {
|
||||
// // test all the saved bookmarks are showing on the bookmarks screen
|
||||
// openBookmarkScreen()
|
||||
// testAllBookmarkShowing(bookmarkList, composeTestRule)
|
||||
// }
|
||||
}
|
||||
|
||||
private fun getZimFile(): File {
|
||||
|
@ -23,6 +23,7 @@ import androidx.compose.ui.test.junit4.createComposeRule
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.espresso.accessibility.AccessibilityChecks
|
||||
@ -43,16 +44,17 @@ import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.RETRY_RULE_ORDER
|
||||
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.local.LocalLibraryFragmentDirections
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.StandardActions
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
@ -118,7 +120,7 @@ class NavigationHistoryTest : BaseActivityTest() {
|
||||
fun navigationHistoryDialogTest() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
val loadFileStream =
|
||||
NavigationHistoryTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||
@ -140,12 +142,15 @@ class NavigationHistoryTest : BaseActivityTest() {
|
||||
}
|
||||
}
|
||||
UiThreadStatement.runOnUiThread {
|
||||
val navOptions = NavOptions.Builder()
|
||||
.setPopUpTo(KiwixDestination.Reader.route, false)
|
||||
.build()
|
||||
kiwixMainActivity.navigate(
|
||||
LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader()
|
||||
.apply { zimFileUri = zimFile.toUri().toString() }
|
||||
KiwixDestination.Reader.createRoute(zimFileUri = zimFile.toUri().toString()),
|
||||
navOptions
|
||||
)
|
||||
}
|
||||
StandardActions.closeDrawer() // close the drawer if open before running the test cases.
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity) // close the drawer if open before running the test cases.
|
||||
navigationHistory {
|
||||
closeTabSwitcherIfVisible(composeTestRule)
|
||||
checkZimFileLoadedSuccessful(R.id.readerFragment)
|
||||
|
@ -39,7 +39,6 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.THREE_MONTHS_IN_MILLISECONDS
|
||||
@ -51,6 +50,7 @@ import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -123,7 +123,7 @@ class DonationDialogTest : BaseActivityTest() {
|
||||
sharedPreferenceUtil.lastDonationPopupShownInMilliSeconds = 0L
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
deleteAllZIMFilesFromApplication()
|
||||
openReaderFragment()
|
||||
@ -170,7 +170,7 @@ class DonationDialogTest : BaseActivityTest() {
|
||||
|
||||
private fun openReaderFragment() {
|
||||
UiThreadStatement.runOnUiThread {
|
||||
kiwixMainActivity.navigate(kiwixMainActivity.readerFragmentResId)
|
||||
kiwixMainActivity.navigate(kiwixMainActivity.readerFragmentRoute)
|
||||
}
|
||||
}
|
||||
|
||||
@ -202,7 +202,7 @@ class DonationDialogTest : BaseActivityTest() {
|
||||
private fun openLocalLibraryScreen() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,6 +56,7 @@ import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.getOkkHttpClientForTesting
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -117,7 +118,7 @@ class KiwixReaderFragmentTest : BaseActivityTest() {
|
||||
fun testTabClosedDialog() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
val loadFileStream =
|
||||
KiwixReaderFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||
@ -158,7 +159,7 @@ class KiwixReaderFragmentTest : BaseActivityTest() {
|
||||
fun testZimFileRendering() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
val downloadingZimFile = getDownloadingZimFile()
|
||||
getOkkHttpClientForTesting().newCall(downloadRequest()).execute().use { response ->
|
||||
|
@ -21,6 +21,7 @@ package org.kiwix.kiwixmobile.reader
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.espresso.accessibility.AccessibilityChecks
|
||||
@ -50,10 +51,10 @@ import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChan
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.RETRY_RULE_ORDER
|
||||
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.local.LocalLibraryFragmentDirections
|
||||
import org.kiwix.kiwixmobile.page.history.navigationHistory
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.libzim.SuggestionSearcher
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
@ -112,13 +113,16 @@ class ZimFileReaderWithSplittedZimFileTest : BaseActivityTest() {
|
||||
fun testZimFileReaderWithSplittedZimFile() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
createAndGetSplitedZimFile()?.let {
|
||||
UiThreadStatement.runOnUiThread {
|
||||
val navOptions = NavOptions.Builder()
|
||||
.setPopUpTo(KiwixDestination.Reader.route, false)
|
||||
.build()
|
||||
kiwixMainActivity.navigate(
|
||||
LocalLibraryFragmentDirections.actionNavigationLibraryToNavigationReader()
|
||||
.apply { zimFileUri = it.toUri().toString() }
|
||||
KiwixDestination.Reader.createRoute(zimFileUri = it.toUri().toString()),
|
||||
navOptions
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,6 @@ import androidx.compose.ui.test.junit4.createComposeRule
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.espresso.accessibility.AccessibilityChecks
|
||||
@ -47,8 +46,6 @@ import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.search.SearchFragment
|
||||
import org.kiwix.kiwixmobile.core.search.viewmodel.Action
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -60,6 +57,7 @@ import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.getOkkHttpClientForTesting
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.OutputStream
|
||||
@ -134,7 +132,7 @@ class SearchFragmentTest : BaseActivityTest() {
|
||||
fun searchFragmentSimple() {
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
testZimFile = getTestZimFile()
|
||||
openKiwixReaderFragmentWithFile(testZimFile)
|
||||
@ -173,7 +171,7 @@ class SearchFragmentTest : BaseActivityTest() {
|
||||
pressBack()
|
||||
}
|
||||
|
||||
UiThreadStatement.runOnUiThread { kiwixMainActivity.navigate(R.id.libraryFragment) }
|
||||
UiThreadStatement.runOnUiThread { kiwixMainActivity.navigate(KiwixDestination.Library.route) }
|
||||
// test with a large ZIM file to properly test the scenario
|
||||
downloadingZimFile = getDownloadingZimFile()
|
||||
getOkkHttpClientForTesting().newCall(downloadRequest()).execute().use { response ->
|
||||
@ -259,7 +257,7 @@ class SearchFragmentTest : BaseActivityTest() {
|
||||
)
|
||||
activityScenario.onActivity {
|
||||
kiwixMainActivity = it
|
||||
kiwixMainActivity.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
downloadingZimFile = getDownloadingZimFile()
|
||||
getOkkHttpClientForTesting().newCall(downloadRequest()).execute().use { response ->
|
||||
@ -279,33 +277,34 @@ class SearchFragmentTest : BaseActivityTest() {
|
||||
openSearchWithQuery(searchTerms[0], downloadingZimFile)
|
||||
// wait for searchFragment become visible on screen.
|
||||
delay(2000)
|
||||
val navHostFragment: NavHostFragment =
|
||||
kiwixMainActivity.supportFragmentManager
|
||||
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
val searchFragment = navHostFragment.childFragmentManager.fragments[0] as SearchFragment
|
||||
for (i in 1..100) {
|
||||
// This will execute the render method 100 times frequently.
|
||||
val searchTerm = searchTerms[i % searchTerms.size]
|
||||
searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
}
|
||||
for (i in 1..100) {
|
||||
// this will execute the render method 100 times with 100MS delay.
|
||||
delay(100)
|
||||
val searchTerm = searchTerms[i % searchTerms.size]
|
||||
searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
}
|
||||
for (i in 1..100) {
|
||||
// this will execute the render method 100 times with 200MS delay.
|
||||
delay(200)
|
||||
val searchTerm = searchTerms[i % searchTerms.size]
|
||||
searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
}
|
||||
for (i in 1..100) {
|
||||
// this will execute the render method 100 times with 200MS delay.
|
||||
delay(300)
|
||||
val searchTerm = searchTerms[i % searchTerms.size]
|
||||
searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
}
|
||||
// TODO refactor this with compose based navController.
|
||||
// val navHostFragment: NavHostFragment =
|
||||
// kiwixMainActivity.supportFragmentManager
|
||||
// .findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||
// val searchFragment = navHostFragment.childFragmentManager.fragments[0] as SearchFragment
|
||||
// for (i in 1..100) {
|
||||
// // This will execute the render method 100 times frequently.
|
||||
// val searchTerm = searchTerms[i % searchTerms.size]
|
||||
// searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
// }
|
||||
// for (i in 1..100) {
|
||||
// // this will execute the render method 100 times with 100MS delay.
|
||||
// delay(100)
|
||||
// val searchTerm = searchTerms[i % searchTerms.size]
|
||||
// searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
// }
|
||||
// for (i in 1..100) {
|
||||
// // this will execute the render method 100 times with 200MS delay.
|
||||
// delay(200)
|
||||
// val searchTerm = searchTerms[i % searchTerms.size]
|
||||
// searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
// }
|
||||
// for (i in 1..100) {
|
||||
// // this will execute the render method 100 times with 200MS delay.
|
||||
// delay(300)
|
||||
// val searchTerm = searchTerms[i % searchTerms.size]
|
||||
// searchFragment.searchViewModel.actions.trySend(Action.Filter(searchTerm)).isSuccess
|
||||
// }
|
||||
}
|
||||
|
||||
private fun removeTemporaryZimFilesToFreeUpDeviceStorage() {
|
||||
|
@ -36,7 +36,7 @@ import org.hamcrest.Matchers.anyOf
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -46,6 +46,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.StandardActions
|
||||
|
||||
class KiwixSettingsFragmentTest {
|
||||
@ -56,6 +57,8 @@ class KiwixSettingsFragmentTest {
|
||||
@get:Rule(order = COMPOSE_TEST_RULE_ORDER)
|
||||
val composeTestRule = createComposeRule()
|
||||
|
||||
lateinit var kiwixMainActivity: KiwixMainActivity
|
||||
|
||||
private val permissions =
|
||||
arrayOf(
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
@ -108,13 +111,14 @@ class KiwixSettingsFragmentTest {
|
||||
}
|
||||
}
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.introFragment)
|
||||
kiwixMainActivity = it
|
||||
it.navigate(KiwixDestination.Intro.route)
|
||||
}
|
||||
intro {
|
||||
swipeLeft(composeTestRule)
|
||||
clickGetStarted(composeTestRule) {}
|
||||
}
|
||||
StandardActions.openDrawer()
|
||||
StandardActions.openDrawer(kiwixMainActivity as CoreMainActivity)
|
||||
StandardActions.enterSettings()
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@ import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -63,6 +64,7 @@ class GetContentShortcutTest {
|
||||
|
||||
@get:Rule(order = COMPOSE_TEST_RULE_ORDER)
|
||||
val composeTestRule = createComposeRule()
|
||||
lateinit var kiwixMainActivity: KiwixMainActivity
|
||||
|
||||
init {
|
||||
AccessibilityChecks.enable().apply {
|
||||
@ -106,6 +108,7 @@ class GetContentShortcutTest {
|
||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||
moveToState(Lifecycle.State.RESUMED)
|
||||
onActivity {
|
||||
kiwixMainActivity = it
|
||||
handleLocaleChange(
|
||||
it,
|
||||
"en",
|
||||
@ -139,20 +142,26 @@ class GetContentShortcutTest {
|
||||
assertReceiveFileTitleVisible(composeTestRule)
|
||||
}
|
||||
}
|
||||
clickBookmarksOnNavDrawer {
|
||||
clickBookmarksOnNavDrawer(kiwixMainActivity as CoreMainActivity) {
|
||||
assertBookMarksDisplayed(composeTestRule)
|
||||
clickOnTrashIcon(composeTestRule)
|
||||
assertDeleteBookmarksDialogDisplayed(composeTestRule)
|
||||
}
|
||||
clickHistoryOnSideNav {
|
||||
clickHistoryOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertHistoryDisplayed(composeTestRule)
|
||||
clickOnTrashIcon(composeTestRule)
|
||||
assertDeleteHistoryDialogDisplayed(composeTestRule)
|
||||
}
|
||||
clickHostBooksOnSideNav { assertMenuWifiHotspotDisplayed(composeTestRule) }
|
||||
clickSettingsOnSideNav { assertMenuSettingsDisplayed(composeTestRule) }
|
||||
clickHelpOnSideNav { HelpRobot().assertToolbarDisplayed(composeTestRule) }
|
||||
clickSupportKiwixOnSideNav()
|
||||
clickHostBooksOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertMenuWifiHotspotDisplayed(composeTestRule)
|
||||
}
|
||||
clickSettingsOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
assertMenuSettingsDisplayed(composeTestRule)
|
||||
}
|
||||
clickHelpOnSideNav(kiwixMainActivity as CoreMainActivity) {
|
||||
HelpRobot().assertToolbarDisplayed(composeTestRule)
|
||||
}
|
||||
clickSupportKiwixOnSideNav(kiwixMainActivity as CoreMainActivity)
|
||||
pressBack()
|
||||
}
|
||||
}
|
||||
|
@ -18,17 +18,14 @@
|
||||
package org.kiwix.kiwixmobile.utils
|
||||
|
||||
import org.kiwix.kiwixmobile.core.utils.files.Log
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.test.espresso.Espresso
|
||||
import androidx.test.espresso.action.ViewActions
|
||||
import androidx.test.espresso.matcher.ViewMatchers
|
||||
import com.adevinta.android.barista.interaction.BaristaClickInteractions.clickOn
|
||||
import com.adevinta.android.barista.interaction.BaristaDialogInteractions
|
||||
import com.adevinta.android.barista.interaction.BaristaDrawerInteractions.closeDrawerWithGravity
|
||||
import com.adevinta.android.barista.interaction.BaristaDrawerInteractions.openDrawerWithGravity
|
||||
import com.adevinta.android.barista.interaction.BaristaSleepInteractions
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.R.string
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
|
||||
/**
|
||||
@ -40,14 +37,14 @@ object StandardActions {
|
||||
clickOn(TestUtils.getResourceString(string.menu_settings))
|
||||
}
|
||||
|
||||
fun openDrawer() {
|
||||
fun openDrawer(coreMainActivity: CoreMainActivity) {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
openDrawerWithGravity(R.id.navigation_container, GravityCompat.START)
|
||||
coreMainActivity.openNavigationDrawer()
|
||||
}
|
||||
|
||||
fun closeDrawer() {
|
||||
fun closeDrawer(coreMainActivity: CoreMainActivity) {
|
||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||
closeDrawerWithGravity(R.id.navigation_container, GravityCompat.START)
|
||||
coreMainActivity.closeNavigationDrawer()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
|
@ -40,7 +40,7 @@ import org.junit.After
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.kiwix.kiwixmobile.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||
import org.kiwix.kiwixmobile.core.utils.TestingUtils.COMPOSE_TEST_RULE_ORDER
|
||||
@ -49,6 +49,7 @@ import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||
import org.kiwix.kiwixmobile.nav.destination.library.library
|
||||
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||
import org.kiwix.kiwixmobile.ui.KiwixDestination
|
||||
import org.kiwix.kiwixmobile.utils.StandardActions
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
@ -66,6 +67,8 @@ class ZimHostFragmentTest {
|
||||
|
||||
private lateinit var activityScenario: ActivityScenario<KiwixMainActivity>
|
||||
|
||||
lateinit var kiwixMainActivity: KiwixMainActivity
|
||||
|
||||
private val permissions =
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
arrayOf(
|
||||
@ -143,9 +146,10 @@ class ZimHostFragmentTest {
|
||||
Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU
|
||||
) {
|
||||
activityScenario.onActivity {
|
||||
it.navigate(R.id.libraryFragment)
|
||||
kiwixMainActivity = it
|
||||
it.navigate(KiwixDestination.Library.route)
|
||||
}
|
||||
StandardActions.closeDrawer() // close the drawer if open before running the test cases.
|
||||
StandardActions.closeDrawer(kiwixMainActivity as CoreMainActivity) // close the drawer if open before running the test cases.
|
||||
// delete all the ZIM files showing in the LocalLibrary
|
||||
// screen to properly test the scenario.
|
||||
library {
|
||||
@ -158,7 +162,7 @@ class ZimHostFragmentTest {
|
||||
zimHost {
|
||||
refreshLibraryList(composeTestRule)
|
||||
assertZimFilesLoaded(composeTestRule)
|
||||
openZimHostFragment()
|
||||
openZimHostFragment(kiwixMainActivity as CoreMainActivity)
|
||||
|
||||
// Check if server is already started
|
||||
stopServerIfAlreadyStarted(composeTestRule)
|
||||
|
@ -33,6 +33,7 @@ import junit.framework.AssertionFailedError
|
||||
import org.kiwix.kiwixmobile.BaseRobot
|
||||
import org.kiwix.kiwixmobile.Findable.StringId.TextId
|
||||
import org.kiwix.kiwixmobile.core.R
|
||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||
import org.kiwix.kiwixmobile.core.ui.components.TOOLBAR_TITLE_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.utils.dialog.ALERT_DIALOG_NATURAL_BUTTON_TESTING_TAG
|
||||
import org.kiwix.kiwixmobile.core.utils.dialog.ALERT_DIALOG_TITLE_TEXT_TESTING_TAG
|
||||
@ -68,8 +69,8 @@ class ZimHostRobot : BaseRobot() {
|
||||
zimFileNodes.assertCountEquals(2)
|
||||
}
|
||||
|
||||
fun openZimHostFragment() {
|
||||
openDrawer()
|
||||
fun openZimHostFragment(coreMainActivity: CoreMainActivity) {
|
||||
openDrawer(coreMainActivity)
|
||||
clickOn(TextId(R.string.menu_wifi_hotspot))
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ class SearchFragmentTestForCustomApp {
|
||||
}
|
||||
}
|
||||
UiThreadStatement.runOnUiThread {
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentResId)
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentRoute)
|
||||
}
|
||||
openZimFileInReader(zimFile = downloadingZimFile)
|
||||
openSearchWithQuery()
|
||||
@ -230,7 +230,7 @@ class SearchFragmentTestForCustomApp {
|
||||
}
|
||||
}
|
||||
UiThreadStatement.runOnUiThread {
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentResId)
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentRoute)
|
||||
}
|
||||
openZimFileInReader(zimFile = downloadingZimFile)
|
||||
openSearchWithQuery(searchTerms[0])
|
||||
@ -288,7 +288,7 @@ class SearchFragmentTestForCustomApp {
|
||||
}
|
||||
}
|
||||
UiThreadStatement.runOnUiThread {
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentResId)
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentRoute)
|
||||
}
|
||||
openZimFileInReader(zimFile = downloadingZimFile)
|
||||
search {
|
||||
|
Loading…
x
Reference in New Issue
Block a user