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:
MohitMaliFtechiz 2025-08-02 01:00:28 +05:30
parent 8112632c80
commit 21debceb82
6 changed files with 27 additions and 16 deletions

View File

@ -21,6 +21,7 @@ package org.kiwix.kiwixmobile
import android.R.id
import android.app.Instrumentation
import android.content.Context
import androidx.test.espresso.Espresso
import androidx.test.espresso.NoMatchingViewException
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.Direction
@ -50,7 +51,7 @@ abstract class BaseRobot(
}
internal fun pressBack() {
uiDevice.pressBack()
Espresso.pressBack()
}
internal fun pressHome() {

View File

@ -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.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.main.topLevel
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.closeSystemDialogs
import org.kiwix.kiwixmobile.testutils.TestUtils.isSystemUINotRespondingDialogVisible
@ -63,9 +65,9 @@ import java.util.concurrent.TimeUnit
@LargeTest
class DownloadTest : BaseActivityTest() {
// @Rule(order = RETRY_RULE_ORDER)
// @JvmField
// val retryRule = RetryRule()
@Rule(order = RETRY_RULE_ORDER)
@JvmField
val retryRule = RetryRule()
@get:Rule(order = COMPOSE_TEST_RULE_ORDER)
val composeTestRule = createComposeRule()
@ -178,6 +180,7 @@ class DownloadTest : BaseActivityTest() {
fun testPauseAndResumeInOtherLanguage() {
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
activityScenario.onActivity {
kiwixMainActivity = it
it.navigate(KiwixDestination.Library.route)
}
try {

View File

@ -92,6 +92,7 @@ class NoteFragmentTest : BaseActivityTest() {
ActivityScenario.launch(KiwixMainActivity::class.java).apply {
moveToState(Lifecycle.State.RESUMED)
onActivity {
kiwixMainActivity = it
handleLocaleChange(
it,
"en",
@ -139,7 +140,7 @@ class NoteFragmentTest : BaseActivityTest() {
writeDemoNote(composeTestRule)
saveNote(composeTestRule)
pressBack()
openNoteFragment(kiwixMainActivity as CoreMainActivity)
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
assertToolbarExist(composeTestRule)
clickOnSavedNote(composeTestRule)
clickOnOpenNote(composeTestRule)
@ -162,7 +163,7 @@ class NoteFragmentTest : BaseActivityTest() {
}
note {
openNoteFragment(kiwixMainActivity as CoreMainActivity)
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
assertToolbarExist(composeTestRule)
clickOnSavedNote(composeTestRule)
clickOnOpenNote(composeTestRule)
@ -186,7 +187,7 @@ class NoteFragmentTest : BaseActivityTest() {
writeDemoNote(composeTestRule)
saveNote(composeTestRule)
pressBack()
openNoteFragment(kiwixMainActivity as CoreMainActivity)
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
assertToolbarExist(composeTestRule)
clickOnSavedNote(composeTestRule)
clickOnOpenNote(composeTestRule)
@ -209,7 +210,7 @@ class NoteFragmentTest : BaseActivityTest() {
writeDemoNote(composeTestRule)
saveNote(composeTestRule)
pressBack()
openNoteFragment(kiwixMainActivity as CoreMainActivity)
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
assertToolbarExist(composeTestRule)
clickOnSavedNote(composeTestRule)
clickOnOpenNote(composeTestRule)
@ -247,7 +248,7 @@ class NoteFragmentTest : BaseActivityTest() {
private fun deletePreviouslySavedNotes() {
// delete the notes if any saved to properly run the test scenario
note {
openNoteFragment(kiwixMainActivity as CoreMainActivity)
openNoteFragment(kiwixMainActivity as CoreMainActivity, composeTestRule)
assertToolbarExist(composeTestRule)
clickOnTrashIcon(composeTestRule)
assertDeleteNoteDialogDisplayed(composeTestRule)

View File

@ -30,9 +30,6 @@ import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performTextReplacement
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.webdriver.DriverAtoms.findElement
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.CoreMainActivity
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.reader.TAKE_NOTE_MENU_ITEM_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)
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) {

View File

@ -217,7 +217,7 @@ class LocalLibraryFragment : BaseFragment(), CopyMoveFileHandler.FileCopyMoveCal
}
private fun onUserBackPressed(): FragmentActivityExtensions.Super {
val coreMainActivity = (activity as? CoreMainActivity)
val coreMainActivity = activity as? CoreMainActivity
if (coreMainActivity?.navigationDrawerIsOpen() == true) {
coreMainActivity.closeNavigationDrawer()
return FragmentActivityExtensions.Super.ShouldNotCall

View File

@ -463,7 +463,7 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions {
@Suppress("ReturnCount")
private fun onUserBackPressed(): FragmentActivityExtensions.Super {
val coreMainActivity = (activity as? CoreMainActivity)
val coreMainActivity = activity as? CoreMainActivity
if (coreMainActivity?.navigationDrawerIsOpen() == true) {
coreMainActivity.closeNavigationDrawer()
return FragmentActivityExtensions.Super.ShouldNotCall