[fenix] Closes https://github.com/mozilla-mobile/fenix/issues/20697: replace mockked lambda in DownloadControllerTest.

This is expected to fix the intermittent failure in this test.
pull/600/head
Michael Comella 3 years ago committed by mergify[bot]
parent 13249f7080
commit b4ce5abf0e

@ -11,7 +11,9 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestCoroutineScope import kotlinx.coroutines.test.TestCoroutineScope
import mozilla.components.browser.state.state.content.DownloadState import mozilla.components.browser.state.state.content.DownloadState
import org.junit.After import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
@ -33,10 +35,23 @@ class DownloadControllerTest {
private val scope = TestCoroutineScope() private val scope = TestCoroutineScope()
private val store: DownloadFragmentStore = mockk(relaxed = true) private val store: DownloadFragmentStore = mockk(relaxed = true)
private val state: DownloadFragmentState = mockk(relaxed = true) private val state: DownloadFragmentState = mockk(relaxed = true)
private val openToFileManager: (DownloadItem, BrowsingMode?) -> Unit = mockk(relaxed = true)
private val displayDeleteAll: () -> Unit = mockk(relaxed = true) private val openToFileManager: (DownloadItem, BrowsingMode?) -> Unit = { item, mode ->
private val invalidateOptionsMenu: () -> Unit = mockk(relaxed = true) openToFileManagerCapturedItem = item
private val deleteDownloadItems: (Set<DownloadItem>) -> Unit = mockk(relaxed = true) openToFileManagerCapturedMode = mode
}
private var openToFileManagerCapturedItem: DownloadItem? = null
private var openToFileManagerCapturedMode: BrowsingMode? = null
private val displayDeleteAll: () -> Unit = { wasDisplayDeleteAllCalled = true }
private var wasDisplayDeleteAllCalled = false
private val invalidateOptionsMenu: () -> Unit = { wasInvalidateOptionsMenuCalled = true }
private var wasInvalidateOptionsMenuCalled = false
private val deleteDownloadItems: (Set<DownloadItem>) -> Unit = { deleteDownloadItemsCapturedItems = it }
private var deleteDownloadItemsCapturedItems = emptySet<DownloadItem>()
private val controller = DefaultDownloadController( private val controller = DefaultDownloadController(
store, store,
openToFileManager, openToFileManager,
@ -59,18 +74,16 @@ class DownloadControllerTest {
fun onPressDownloadItemInNormalMode() { fun onPressDownloadItemInNormalMode() {
controller.handleOpen(downloadItem) controller.handleOpen(downloadItem)
verify { assertEquals(downloadItem, openToFileManagerCapturedItem)
openToFileManager(downloadItem, null) assertEquals(null, openToFileManagerCapturedMode)
}
} }
@Test @Test
fun onOpenItemInNormalMode() { fun onOpenItemInNormalMode() {
controller.handleOpen(downloadItem, BrowsingMode.Normal) controller.handleOpen(downloadItem, BrowsingMode.Normal)
verify { assertEquals(downloadItem, openToFileManagerCapturedItem)
openToFileManager(downloadItem, BrowsingMode.Normal) assertEquals(BrowsingMode.Normal, openToFileManagerCapturedMode)
}
} }
@Test @Test
@ -106,18 +119,14 @@ class DownloadControllerTest {
fun onModeSwitched() { fun onModeSwitched() {
controller.handleModeSwitched() controller.handleModeSwitched()
verify { assertTrue(wasInvalidateOptionsMenuCalled)
invalidateOptionsMenu.invoke()
}
} }
@Test @Test
fun onDeleteAll() { fun onDeleteAll() {
controller.handleDeleteAll() controller.handleDeleteAll()
verify { assertTrue(wasDisplayDeleteAllCalled)
displayDeleteAll.invoke()
}
} }
@Test @Test
@ -126,8 +135,6 @@ class DownloadControllerTest {
controller.handleDeleteSome(itemsToDelete) controller.handleDeleteSome(itemsToDelete)
verify { assertEquals(itemsToDelete, deleteDownloadItemsCapturedItems)
deleteDownloadItems(itemsToDelete)
}
} }
} }

Loading…
Cancel
Save