Add unit test on MediaItemsPostProcessor
This commit is contained in:
parent
076e371908
commit
4d997a88db
4 changed files with 228 additions and 10 deletions
|
|
@ -12,7 +12,7 @@ import io.element.android.libraries.architecture.AsyncData
|
|||
import io.element.android.libraries.matrix.api.core.UniqueId
|
||||
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
||||
import io.element.android.libraries.mediaviewer.impl.details.aMediaDetailsBottomSheetState
|
||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aDate
|
||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemDateSeparator
|
||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemFile
|
||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemLoadingIndicator
|
||||
|
|
@ -29,9 +29,9 @@ open class MediaGalleryStateProvider : PreviewParameterProvider<MediaGalleryStat
|
|||
groupedMediaItems = AsyncData.Success(
|
||||
aGroupedMediaItems(
|
||||
imageAndVideoItems = listOf(
|
||||
aDate(id = UniqueId("0")),
|
||||
aMediaItemDateSeparator(id = UniqueId("0")),
|
||||
aMediaItemImage(id = UniqueId("1")),
|
||||
aDate(
|
||||
aMediaItemDateSeparator(
|
||||
id = UniqueId("2"),
|
||||
formattedDate = "September 2004",
|
||||
),
|
||||
|
|
@ -55,9 +55,9 @@ open class MediaGalleryStateProvider : PreviewParameterProvider<MediaGalleryStat
|
|||
groupedMediaItems = AsyncData.Success(
|
||||
aGroupedMediaItems(
|
||||
fileItems = listOf(
|
||||
aDate(id = UniqueId("0")),
|
||||
aMediaItemDateSeparator(id = UniqueId("0")),
|
||||
aMediaItemFile(id = UniqueId("1")),
|
||||
aDate(
|
||||
aMediaItemDateSeparator(
|
||||
id = UniqueId("2"),
|
||||
formattedDate = "September 2004",
|
||||
),
|
||||
|
|
|
|||
|
|
@ -54,10 +54,10 @@ class MediaItemsPostProcessor @Inject constructor() {
|
|||
when (item) {
|
||||
is MediaItem.Image,
|
||||
is MediaItem.Video -> {
|
||||
imageAndVideoItemsSubList.add(item)
|
||||
imageAndVideoItemsSubList.add(0, item)
|
||||
}
|
||||
is MediaItem.File -> {
|
||||
fileItemsSublist.add(item)
|
||||
fileItemsSublist.add(0, item)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -67,6 +67,14 @@ class MediaItemsPostProcessor @Inject constructor() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (imageAndVideoItemsSubList.isNotEmpty()) {
|
||||
// Should not happen, since the SDK is always adding a date separator
|
||||
imageAndVideoItems.addAll(imageAndVideoItemsSubList)
|
||||
}
|
||||
if (fileItemsSublist.isNotEmpty()) {
|
||||
// Should not happen, since the SDK is always adding a date separator
|
||||
fileItems.addAll(fileItemsSublist)
|
||||
}
|
||||
return GroupedMediaItems(
|
||||
imageAndVideoItems = imageAndVideoItems.toImmutableList(),
|
||||
fileItems = fileItems.toImmutableList(),
|
||||
|
|
|
|||
|
|
@ -14,12 +14,12 @@ import io.element.android.libraries.mediaviewer.impl.gallery.MediaItem
|
|||
class MediaItemDateSeparatorProvider : PreviewParameterProvider<MediaItem.DateSeparator> {
|
||||
override val values: Sequence<MediaItem.DateSeparator>
|
||||
get() = sequenceOf(
|
||||
aDate(),
|
||||
aDate(formattedDate = "A long date that should be truncated"),
|
||||
aMediaItemDateSeparator(),
|
||||
aMediaItemDateSeparator(formattedDate = "A long date that should be truncated"),
|
||||
)
|
||||
}
|
||||
|
||||
fun aDate(
|
||||
fun aMediaItemDateSeparator(
|
||||
id: UniqueId = UniqueId("dateId"),
|
||||
formattedDate: String = "October 2024",
|
||||
): MediaItem.DateSeparator {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue