Implement several caching improvements for the Story Viewer.

This commit is contained in:
Alex Hart
2022-07-05 12:38:35 -03:00
parent 8f85b58612
commit 32312da384
25 changed files with 603 additions and 116 deletions

View File

@@ -6,7 +6,12 @@ import io.reactivex.rxjava3.schedulers.TestScheduler
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.mockito.Mock
import org.mockito.MockedStatic
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
@@ -14,16 +19,29 @@ import org.mockito.kotlin.never
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.stories.Stories
import org.thoughtcrime.securesms.stories.StoryViewerArgs
class StoryViewerViewModelTest {
@Rule
@JvmField
val mockitoRule: MockitoRule = MockitoJUnit.rule()
private val testScheduler = TestScheduler()
private val repository: StoryViewerRepository = mock()
@Mock
private lateinit var repository: StoryViewerRepository
@Mock
private lateinit var mockStoriesStatic: MockedStatic<Stories>
@Before
fun setUp() {
RxJavaPlugins.setInitComputationSchedulerHandler { testScheduler }
RxJavaPlugins.setComputationSchedulerHandler { testScheduler }
whenever(repository.getFirstStory(any(), any(), any())).doReturn(Single.just(mock()))
}
@After
@@ -34,9 +52,6 @@ class StoryViewerViewModelTest {
@Test
fun `Given a list of recipients, when I initialize, then I expect the list`() {
// GIVEN
val repoStories: List<RecipientId> = (1L..5L).map(RecipientId::from)
whenever(repository.getStories(any(), any())).doReturn(Single.just(repoStories))
val injectedStories: List<RecipientId> = (6L..10L).map(RecipientId::from)
// WHEN

View File

@@ -167,7 +167,8 @@ class StoryViewerPageViewModelTest {
RecipientId.from(1),
-1L,
false,
repository
repository,
mock()
)
}