mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
Fixed: CodeFactor issues.
* Fixed: The `DownloadTest`. * Fixed: The `uiDevice.pressBack` was not working with compose UI so we have replaced it with `Espresso.pressBack`. * Fixed: NoteFragmentTest.
This commit is contained in:
parent
8112632c80
commit
21debceb82
@ -21,6 +21,7 @@ package org.kiwix.kiwixmobile
|
|||||||
import android.R.id
|
import android.R.id
|
||||||
import android.app.Instrumentation
|
import android.app.Instrumentation
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import androidx.test.espresso.Espresso
|
||||||
import androidx.test.espresso.NoMatchingViewException
|
import androidx.test.espresso.NoMatchingViewException
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import androidx.test.uiautomator.Direction
|
import androidx.test.uiautomator.Direction
|
||||||
@ -50,7 +51,7 @@ abstract class BaseRobot(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun pressBack() {
|
internal fun pressBack() {
|
||||||
uiDevice.pressBack()
|
Espresso.pressBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun pressHome() {
|
internal fun pressHome() {
|
||||||
|
@ -51,9 +51,11 @@ import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
|||||||
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
import org.kiwix.kiwixmobile.core.utils.LanguageUtils.Companion.handleLocaleChange
|
||||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
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.COMPOSE_TEST_RULE_ORDER
|
||||||
|
import org.kiwix.kiwixmobile.core.utils.TestingUtils.RETRY_RULE_ORDER
|
||||||
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
import org.kiwix.kiwixmobile.main.KiwixMainActivity
|
||||||
import org.kiwix.kiwixmobile.main.topLevel
|
import org.kiwix.kiwixmobile.main.topLevel
|
||||||
import org.kiwix.kiwixmobile.nav.destination.library.library
|
import org.kiwix.kiwixmobile.nav.destination.library.library
|
||||||
|
import org.kiwix.kiwixmobile.testutils.RetryRule
|
||||||
import org.kiwix.kiwixmobile.testutils.TestUtils
|
import org.kiwix.kiwixmobile.testutils.TestUtils
|
||||||
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
import org.kiwix.kiwixmobile.testutils.TestUtils.closeSystemDialogs
|
||||||
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||||
@ -63,9 +65,9 @@ import java.util.concurrent.TimeUnit
|
|||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
class DownloadTest : BaseActivityTest() {
|
class DownloadTest : BaseActivityTest() {
|
||||||
// @Rule(order = RETRY_RULE_ORDER)
|
@Rule(order = RETRY_RULE_ORDER)
|
||||||
// @JvmField
|
@JvmField
|
||||||
// val retryRule = RetryRule()
|
val retryRule = RetryRule()
|
||||||
|
|
||||||
@get:Rule(order = COMPOSE_TEST_RULE_ORDER)
|
@get:Rule(order = COMPOSE_TEST_RULE_ORDER)
|
||||||
val composeTestRule = createComposeRule()
|
val composeTestRule = createComposeRule()
|
||||||
@ -178,6 +180,7 @@ class DownloadTest : BaseActivityTest() {
|
|||||||
fun testPauseAndResumeInOtherLanguage() {
|
fun testPauseAndResumeInOtherLanguage() {
|
||||||
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
|
||||||
activityScenario.onActivity {
|
activityScenario.onActivity {
|
||||||
|
kiwixMainActivity = it
|
||||||
it.navigate(KiwixDestination.Library.route)
|
it.navigate(KiwixDestination.Library.route)
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -92,6 +92,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
|
||||||
moveToState(Lifecycle.State.RESUMED)
|
moveToState(Lifecycle.State.RESUMED)
|
||||||
onActivity {
|
onActivity {
|
||||||
|
kiwixMainActivity = it
|
||||||
handleLocaleChange(
|
handleLocaleChange(
|
||||||
it,
|
it,
|
||||||
"en",
|
"en",
|
||||||
@ -139,7 +140,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
writeDemoNote(composeTestRule)
|
writeDemoNote(composeTestRule)
|
||||||
saveNote(composeTestRule)
|
saveNote(composeTestRule)
|
||||||
pressBack()
|
pressBack()
|
||||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
|
||||||
assertToolbarExist(composeTestRule)
|
assertToolbarExist(composeTestRule)
|
||||||
clickOnSavedNote(composeTestRule)
|
clickOnSavedNote(composeTestRule)
|
||||||
clickOnOpenNote(composeTestRule)
|
clickOnOpenNote(composeTestRule)
|
||||||
@ -162,7 +163,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
note {
|
note {
|
||||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
|
||||||
assertToolbarExist(composeTestRule)
|
assertToolbarExist(composeTestRule)
|
||||||
clickOnSavedNote(composeTestRule)
|
clickOnSavedNote(composeTestRule)
|
||||||
clickOnOpenNote(composeTestRule)
|
clickOnOpenNote(composeTestRule)
|
||||||
@ -186,7 +187,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
writeDemoNote(composeTestRule)
|
writeDemoNote(composeTestRule)
|
||||||
saveNote(composeTestRule)
|
saveNote(composeTestRule)
|
||||||
pressBack()
|
pressBack()
|
||||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
|
||||||
assertToolbarExist(composeTestRule)
|
assertToolbarExist(composeTestRule)
|
||||||
clickOnSavedNote(composeTestRule)
|
clickOnSavedNote(composeTestRule)
|
||||||
clickOnOpenNote(composeTestRule)
|
clickOnOpenNote(composeTestRule)
|
||||||
@ -209,7 +210,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
writeDemoNote(composeTestRule)
|
writeDemoNote(composeTestRule)
|
||||||
saveNote(composeTestRule)
|
saveNote(composeTestRule)
|
||||||
pressBack()
|
pressBack()
|
||||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
|
||||||
assertToolbarExist(composeTestRule)
|
assertToolbarExist(composeTestRule)
|
||||||
clickOnSavedNote(composeTestRule)
|
clickOnSavedNote(composeTestRule)
|
||||||
clickOnOpenNote(composeTestRule)
|
clickOnOpenNote(composeTestRule)
|
||||||
@ -247,7 +248,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
private fun deletePreviouslySavedNotes() {
|
private fun deletePreviouslySavedNotes() {
|
||||||
// delete the notes if any saved to properly run the test scenario
|
// delete the notes if any saved to properly run the test scenario
|
||||||
note {
|
note {
|
||||||
openNoteFragment(kiwixMainActivity as CoreMainActivity)
|
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
|
||||||
assertToolbarExist(composeTestRule)
|
assertToolbarExist(composeTestRule)
|
||||||
clickOnTrashIcon(composeTestRule)
|
clickOnTrashIcon(composeTestRule)
|
||||||
assertDeleteNoteDialogDisplayed(composeTestRule)
|
assertDeleteNoteDialogDisplayed(composeTestRule)
|
||||||
|
@ -30,9 +30,6 @@ import androidx.compose.ui.test.onNodeWithTag
|
|||||||
import androidx.compose.ui.test.performClick
|
import androidx.compose.ui.test.performClick
|
||||||
import androidx.compose.ui.test.performTextReplacement
|
import androidx.compose.ui.test.performTextReplacement
|
||||||
import androidx.test.espresso.Espresso.closeSoftKeyboard
|
import androidx.test.espresso.Espresso.closeSoftKeyboard
|
||||||
import androidx.test.espresso.Espresso.onView
|
|
||||||
import androidx.test.espresso.action.ViewActions.click
|
|
||||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
|
||||||
import androidx.test.espresso.web.sugar.Web.onWebView
|
import androidx.test.espresso.web.sugar.Web.onWebView
|
||||||
import androidx.test.espresso.web.webdriver.DriverAtoms.findElement
|
import androidx.test.espresso.web.webdriver.DriverAtoms.findElement
|
||||||
import androidx.test.espresso.web.webdriver.Locator
|
import androidx.test.espresso.web.webdriver.Locator
|
||||||
@ -42,6 +39,7 @@ import org.kiwix.kiwixmobile.core.R
|
|||||||
import org.kiwix.kiwixmobile.core.main.ADD_NOTE_TEXT_FILED_TESTING_TAG
|
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.CoreMainActivity
|
||||||
import org.kiwix.kiwixmobile.core.main.DELETE_MENU_BUTTON_TESTING_TAG
|
import org.kiwix.kiwixmobile.core.main.DELETE_MENU_BUTTON_TESTING_TAG
|
||||||
|
import org.kiwix.kiwixmobile.core.main.LEFT_DRAWER_NOTES_ITEM_TESTING_TAG
|
||||||
import org.kiwix.kiwixmobile.core.main.SAVE_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
|
import org.kiwix.kiwixmobile.core.main.reader.TAKE_NOTE_MENU_ITEM_TESTING_TAG
|
||||||
import org.kiwix.kiwixmobile.core.page.DELETE_MENU_ICON_TESTING_TAG
|
import org.kiwix.kiwixmobile.core.page.DELETE_MENU_ICON_TESTING_TAG
|
||||||
@ -129,9 +127,17 @@ class NoteRobot : BaseRobot() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fun openNoteFragment(coreMainActivity: CoreMainActivity) {
|
fun openNoteFragment(
|
||||||
|
coreMainActivity: CoreMainActivity,
|
||||||
|
composeTestRule: ComposeContentTestRule
|
||||||
|
) {
|
||||||
openDrawer(coreMainActivity)
|
openDrawer(coreMainActivity)
|
||||||
testFlakyView({ onView(withText(R.string.pref_notes)).perform(click()) })
|
testFlakyView({
|
||||||
|
composeTestRule.apply {
|
||||||
|
waitForIdle()
|
||||||
|
onNodeWithTag(LEFT_DRAWER_NOTES_ITEM_TESTING_TAG).performClick()
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fun clickOnSavedNote(composeTestRule: ComposeContentTestRule) {
|
fun clickOnSavedNote(composeTestRule: ComposeContentTestRule) {
|
||||||
|
@ -217,7 +217,7 @@ class LocalLibraryFragment : BaseFragment(), CopyMoveFileHandler.FileCopyMoveCal
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun onUserBackPressed(): FragmentActivityExtensions.Super {
|
private fun onUserBackPressed(): FragmentActivityExtensions.Super {
|
||||||
val coreMainActivity = (activity as? CoreMainActivity)
|
val coreMainActivity = activity as? CoreMainActivity
|
||||||
if (coreMainActivity?.navigationDrawerIsOpen() == true) {
|
if (coreMainActivity?.navigationDrawerIsOpen() == true) {
|
||||||
coreMainActivity.closeNavigationDrawer()
|
coreMainActivity.closeNavigationDrawer()
|
||||||
return FragmentActivityExtensions.Super.ShouldNotCall
|
return FragmentActivityExtensions.Super.ShouldNotCall
|
||||||
|
@ -463,7 +463,7 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions {
|
|||||||
|
|
||||||
@Suppress("ReturnCount")
|
@Suppress("ReturnCount")
|
||||||
private fun onUserBackPressed(): FragmentActivityExtensions.Super {
|
private fun onUserBackPressed(): FragmentActivityExtensions.Super {
|
||||||
val coreMainActivity = (activity as? CoreMainActivity)
|
val coreMainActivity = activity as? CoreMainActivity
|
||||||
if (coreMainActivity?.navigationDrawerIsOpen() == true) {
|
if (coreMainActivity?.navigationDrawerIsOpen() == true) {
|
||||||
coreMainActivity.closeNavigationDrawer()
|
coreMainActivity.closeNavigationDrawer()
|
||||||
return FragmentActivityExtensions.Super.ShouldNotCall
|
return FragmentActivityExtensions.Super.ShouldNotCall
|
||||||
|
Loading…
x
Reference in New Issue
Block a user