diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/download/DownloadTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/download/DownloadTest.kt index 9ad449d7e..f3564dc8e 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/download/DownloadTest.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/download/DownloadTest.kt @@ -29,6 +29,7 @@ import androidx.test.espresso.IdlingRegistry import androidx.test.espresso.accessibility.AccessibilityChecks import androidx.test.espresso.matcher.ViewMatchers.withContentDescription import androidx.test.filters.LargeTest +import androidx.test.internal.runner.junit4.statement.UiThreadStatement import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice import com.adevinta.android.barista.interaction.BaristaSleepInteractions @@ -157,7 +158,9 @@ class DownloadTest : BaseActivityTest() { "Could not pause download. Original exception = $ignore" ) } - clickLibraryOnBottomNav() + UiThreadStatement.runOnUiThread { + kiwixMainActivity.navigate(R.id.libraryFragment) + } // refresh the local library list to show the downloaded zim file library { refreshList(composeTestRule) } checkIfZimFileDownloaded(composeTestRule) diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/BookmarksRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/BookmarksRobot.kt index dd49fabf6..870c13dc0 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/BookmarksRobot.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/BookmarksRobot.kt @@ -53,8 +53,6 @@ fun bookmarks(func: BookmarksRobot.() -> Unit) = BookmarksRobot().applyWithViewHierarchyPrinting(func) class BookmarksRobot : BaseRobot() { - private var retryCountForBookmarkAddedButton = 5 - fun assertBookMarksDisplayed(composeTestRule: ComposeContentTestRule) { composeTestRule.apply { waitForIdle() @@ -113,22 +111,6 @@ class BookmarksRobot : BaseRobot() { testFlakyView({ onView(withId(R.id.bottom_toolbar_bookmark)).perform(longClick()) }) } - fun clickOnOpenSavedBookmarkButton() { - try { - onView(withText("OPEN")).perform(click()) - } catch (runtimeException: RuntimeException) { - if (retryCountForBookmarkAddedButton > 0) { - retryCountForBookmarkAddedButton-- - clickOnOpenSavedBookmarkButton() - } else { - throw RuntimeException( - "Unable to save the bookmark, original exception is" + - " ${runtimeException.localizedMessage}" - ) - } - } - } - fun assertBookmarkSaved(composeTestRule: ComposeContentTestRule) { pauseForBetterTestPerformance() composeTestRule.apply { diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/LibkiwixBookmarkTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/LibkiwixBookmarkTest.kt index 535dee1a2..2e93dc968 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/LibkiwixBookmarkTest.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/page/bookmarks/LibkiwixBookmarkTest.kt @@ -134,9 +134,9 @@ class LibkiwixBookmarkTest : BaseActivityTest() { pressBack() // Test saving bookmark clickOnSaveBookmarkImage() - clickOnOpenSavedBookmarkButton() - assertBookmarkSaved(composeTestRule) - pressBack() + topLevel { + clickBookmarksOnNavDrawer { assertBookmarkSaved(composeTestRule) } + } // Test removing bookmark clickOnSaveBookmarkImage() longClickOnSaveBookmarkImage() diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt index 2b7ebe71c..4a34fb720 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt @@ -1899,9 +1899,10 @@ abstract class CoreReaderFragment : protected fun setUpBookmarks(zimFileReader: ZimFileReader) { safelyCancelBookmarkJob() - bookmarkingJob = CoroutineScope(Dispatchers.Main).launch { + val zimFileReaderId = zimFileReader.id + bookmarkingJob = viewLifecycleOwner.lifecycleScope.launch { combine( - libkiwixBookmarks?.bookmarkUrlsForCurrentBook(zimFileReader.id) ?: emptyFlow(), + libkiwixBookmarks?.bookmarkUrlsForCurrentBook(zimFileReaderId) ?: emptyFlow(), webUrlsFlow, List::contains ).collect { isBookmarked -> diff --git a/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewBookDaoTest.kt b/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewBookDaoTest.kt index 0e73f62a4..afdde3dcb 100644 --- a/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewBookDaoTest.kt +++ b/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewBookDaoTest.kt @@ -18,7 +18,6 @@ package org.kiwix.kiwixmobile.core.dao -import android.annotation.SuppressLint import io.mockk.CapturingSlot import io.mockk.clearAllMocks import io.mockk.coEvery @@ -72,17 +71,15 @@ internal class NewBookDaoTest { ) } - @SuppressLint("CheckResult") @Test - fun `books deletes entities whose file does not exist`() = - runTest { - val (_, deletedEntity) = expectEmissionOfExistingAndNotExistingBook() - testFlow( - flow = newBookDao.books(), - triggerAction = {}, - assert = { verify { box.remove(listOf(deletedEntity)) } } - ) - } + fun `books deletes entities whose file does not exist`() = runTest { + val (_, deletedEntity) = expectEmissionOfExistingAndNotExistingBook() + testFlow( + flow = newBookDao.books(), + triggerAction = {}, + assert = { verify { box.remove(listOf(deletedEntity)) } } + ) + } @Test fun `books removes entities whose files are in the trash folder`() = runTest {