Issue #20533: Fix intermittent test failures of DefaultCollectionCreationControllerTest
This commit is contained in:
parent
150a5a739e
commit
6f3d21b48d
|
@ -23,6 +23,7 @@ import mozilla.components.support.test.ext.joinBlocking
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
import org.junit.Assert.assertEquals
|
import org.junit.Assert.assertEquals
|
||||||
import org.junit.Assert.assertNull
|
import org.junit.Assert.assertNull
|
||||||
|
import org.junit.Assert.assertTrue
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.mozilla.fenix.components.TabCollectionStorage
|
import org.mozilla.fenix.components.TabCollectionStorage
|
||||||
|
@ -36,9 +37,9 @@ class DefaultCollectionCreationControllerTest {
|
||||||
private val testCoroutineScope = TestCoroutineScope()
|
private val testCoroutineScope = TestCoroutineScope()
|
||||||
private lateinit var state: CollectionCreationState
|
private lateinit var state: CollectionCreationState
|
||||||
private lateinit var controller: DefaultCollectionCreationController
|
private lateinit var controller: DefaultCollectionCreationController
|
||||||
|
private var dismissed = false
|
||||||
|
|
||||||
@MockK(relaxed = true) private lateinit var store: CollectionCreationStore
|
@MockK(relaxed = true) private lateinit var store: CollectionCreationStore
|
||||||
@MockK(relaxed = true) private lateinit var dismiss: () -> Unit
|
|
||||||
@MockK(relaxUnitFun = true) private lateinit var metrics: MetricController
|
@MockK(relaxUnitFun = true) private lateinit var metrics: MetricController
|
||||||
@MockK(relaxUnitFun = true) private lateinit var tabCollectionStorage: TabCollectionStorage
|
@MockK(relaxUnitFun = true) private lateinit var tabCollectionStorage: TabCollectionStorage
|
||||||
private lateinit var browserStore: BrowserStore
|
private lateinit var browserStore: BrowserStore
|
||||||
|
@ -55,10 +56,13 @@ class DefaultCollectionCreationControllerTest {
|
||||||
|
|
||||||
browserStore = BrowserStore()
|
browserStore = BrowserStore()
|
||||||
|
|
||||||
|
dismissed = false
|
||||||
controller = DefaultCollectionCreationController(
|
controller = DefaultCollectionCreationController(
|
||||||
store,
|
store,
|
||||||
browserStore,
|
browserStore,
|
||||||
dismiss,
|
dismiss = {
|
||||||
|
dismissed = true
|
||||||
|
},
|
||||||
metrics,
|
metrics,
|
||||||
tabCollectionStorage,
|
tabCollectionStorage,
|
||||||
testCoroutineScope
|
testCoroutineScope
|
||||||
|
@ -89,7 +93,7 @@ class DefaultCollectionCreationControllerTest {
|
||||||
|
|
||||||
controller.saveCollectionName(tabs, "name")
|
controller.saveCollectionName(tabs, "name")
|
||||||
|
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
coVerify { tabCollectionStorage.createCollection("name", listOf(tab1)) }
|
coVerify { tabCollectionStorage.createCollection("name", listOf(tab1)) }
|
||||||
verify { metrics.track(Event.CollectionSaved(2, 1)) }
|
verify { metrics.track(Event.CollectionSaved(2, 1)) }
|
||||||
}
|
}
|
||||||
|
@ -106,7 +110,7 @@ class DefaultCollectionCreationControllerTest {
|
||||||
|
|
||||||
state = state.copy(tabCollections = emptyList(), tabs = listOf(mockk()))
|
state = state.copy(tabCollections = emptyList(), tabs = listOf(mockk()))
|
||||||
controller.backPressed(SaveCollectionStep.NameCollection)
|
controller.backPressed(SaveCollectionStep.NameCollection)
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -117,16 +121,16 @@ class DefaultCollectionCreationControllerTest {
|
||||||
|
|
||||||
state = state.copy(tabCollections = emptyList(), tabs = listOf(mockk()))
|
state = state.copy(tabCollections = emptyList(), tabs = listOf(mockk()))
|
||||||
controller.backPressed(SaveCollectionStep.SelectCollection)
|
controller.backPressed(SaveCollectionStep.SelectCollection)
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `GIVEN last step WHEN backPressed is called THEN dismiss should be called`() {
|
fun `GIVEN last step WHEN backPressed is called THEN dismiss should be called`() {
|
||||||
controller.backPressed(SaveCollectionStep.SelectTabs)
|
controller.backPressed(SaveCollectionStep.SelectTabs)
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
|
|
||||||
controller.backPressed(SaveCollectionStep.RenameCollection)
|
controller.backPressed(SaveCollectionStep.RenameCollection)
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -136,8 +140,8 @@ class DefaultCollectionCreationControllerTest {
|
||||||
controller.renameCollection(collection, "name")
|
controller.renameCollection(collection, "name")
|
||||||
advanceUntilIdle()
|
advanceUntilIdle()
|
||||||
|
|
||||||
|
assertTrue(dismissed)
|
||||||
verifyAll {
|
verifyAll {
|
||||||
dismiss()
|
|
||||||
metrics.track(Event.CollectionRenamed)
|
metrics.track(Event.CollectionRenamed)
|
||||||
}
|
}
|
||||||
coVerify { tabCollectionStorage.renameCollection(collection, "name") }
|
coVerify { tabCollectionStorage.renameCollection(collection, "name") }
|
||||||
|
@ -152,7 +156,7 @@ class DefaultCollectionCreationControllerTest {
|
||||||
verify { store.dispatch(CollectionCreationAction.RemoveAllTabs) }
|
verify { store.dispatch(CollectionCreationAction.RemoveAllTabs) }
|
||||||
|
|
||||||
controller.close()
|
controller.close()
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -183,7 +187,7 @@ class DefaultCollectionCreationControllerTest {
|
||||||
|
|
||||||
controller.selectCollection(collection, tabs)
|
controller.selectCollection(collection, tabs)
|
||||||
|
|
||||||
verify { dismiss() }
|
assertTrue(dismissed)
|
||||||
coVerify { tabCollectionStorage.addTabsToCollection(collection, listOf(tab1)) }
|
coVerify { tabCollectionStorage.addTabsToCollection(collection, listOf(tab1)) }
|
||||||
verify { metrics.track(Event.CollectionTabsAdded(2, 1)) }
|
verify { metrics.track(Event.CollectionTabsAdded(2, 1)) }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user