From d9e28816bc697cc32e2fd5108e727a4ea5a81f9d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Dec 2024 17:37:57 +0100 Subject: [PATCH] Fix test and add tests. --- .../impl/gallery/DefaultEventItemFactoryTest.kt | 17 ++++++++++++++--- .../impl/gallery/MediaItemsPostProcessorTest.kt | 14 ++++++++++++++ .../impl/local/AndroidLocalMediaFactoryTest.kt | 3 ++- .../mediaviewer/test/FakeLocalMediaFactory.kt | 1 + 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt index 36b767e870..3478f8f867 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt @@ -50,6 +50,7 @@ import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem import io.element.android.libraries.mediaviewer.api.MediaInfo import io.element.android.libraries.mediaviewer.test.util.FileExtensionExtractorWithoutValidation import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.toImmutableList import org.junit.Test import kotlin.time.Duration.Companion.seconds @@ -163,6 +164,7 @@ class DefaultEventItemFactoryTest { senderAvatar = null, dateSent = "0 Day false", dateSentFull = "0 Full false", + waveform = null, ), mediaSource = MediaSource(""), ) @@ -211,6 +213,7 @@ class DefaultEventItemFactoryTest { senderAvatar = null, dateSent = "0 Day false", dateSentFull = "0 Full false", + waveform = null, ), mediaSource = MediaSource(""), thumbnailSource = null, @@ -242,7 +245,7 @@ class DefaultEventItemFactoryTest { ) ) assertThat(result).isEqualTo( - MediaItem.File( + MediaItem.Audio( id = A_UNIQUE_ID, eventId = AN_EVENT_ID, mediaInfo = MediaInfo( @@ -256,8 +259,11 @@ class DefaultEventItemFactoryTest { senderAvatar = null, dateSent = "0 Day false", dateSentFull = "0 Full false", + waveform = null, ), mediaSource = MediaSource(""), + duration = "7:36", + waveform = null, ) ) } @@ -305,6 +311,7 @@ class DefaultEventItemFactoryTest { senderAvatar = null, dateSent = "0 Day false", dateSentFull = "0 Full false", + waveform = null, ), mediaSource = MediaSource(""), thumbnailSource = null, @@ -333,7 +340,7 @@ class DefaultEventItemFactoryTest { ), details = AudioDetails( duration = 456.seconds, - waveform = persistentListOf(), + waveform = persistentListOf(1f, 2f), ) ) ) @@ -341,7 +348,7 @@ class DefaultEventItemFactoryTest { ) ) assertThat(result).isEqualTo( - MediaItem.File( + MediaItem.Audio( id = A_UNIQUE_ID, eventId = AN_EVENT_ID, mediaInfo = MediaInfo( @@ -355,8 +362,11 @@ class DefaultEventItemFactoryTest { senderAvatar = null, dateSent = "0 Day false", dateSentFull = "0 Full false", + waveform = listOf(1f, 2f).toImmutableList(), ), mediaSource = MediaSource(""), + duration = "7:36", + waveform = listOf(1f, 2f).toImmutableList(), ) ) } @@ -403,6 +413,7 @@ class DefaultEventItemFactoryTest { senderAvatar = null, dateSent = "0 Day false", dateSentFull = "0 Full false", + waveform = null, ), mediaSource = MediaSource(""), thumbnailSource = null, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaItemsPostProcessorTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaItemsPostProcessorTest.kt index 75a911f1dc..cf32409248 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaItemsPostProcessorTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaItemsPostProcessorTest.kt @@ -11,6 +11,7 @@ import com.google.common.truth.Truth.assertThat import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.test.AN_EXCEPTION +import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemAudio 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 @@ -23,6 +24,9 @@ class MediaItemsPostProcessorTest { private val file1 = aMediaItemFile(id = UniqueId("1")) private val file2 = aMediaItemFile(id = UniqueId("2")) private val file3 = aMediaItemFile(id = UniqueId("3")) + private val audio1 = aMediaItemAudio(id = UniqueId("1")) + private val audio2 = aMediaItemAudio(id = UniqueId("2")) + private val audio3 = aMediaItemAudio(id = UniqueId("3")) private val image1 = aMediaItemImage(id = UniqueId("1")) private val image2 = aMediaItemImage(id = UniqueId("2")) private val image3 = aMediaItemImage(id = UniqueId("3")) @@ -68,6 +72,7 @@ class MediaItemsPostProcessorTest { fun `process will reorder files`() { test( mediaItems = listOf( + audio1, file3, file2, file1, @@ -79,6 +84,7 @@ class MediaItemsPostProcessorTest { file1, file2, file3, + audio1, ), ) } @@ -106,6 +112,7 @@ class MediaItemsPostProcessorTest { fun `process will split images, videos and files`() { test( mediaItems = listOf( + audio1, file1, image1, video1, @@ -119,6 +126,7 @@ class MediaItemsPostProcessorTest { expectedFileItems = listOf( date1, file1, + audio1, ), ) } @@ -155,6 +163,9 @@ class MediaItemsPostProcessorTest { fun `process will handle complex case`() { test( mediaItems = listOf( + audio3, + audio2, + audio1, file1, image1, video1, @@ -178,6 +189,9 @@ class MediaItemsPostProcessorTest { expectedFileItems = listOf( date1, file1, + audio1, + audio2, + audio3, date3, file3, loading1, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/local/AndroidLocalMediaFactoryTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/local/AndroidLocalMediaFactoryTest.kt index d1f0f745f8..11d8426c09 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/local/AndroidLocalMediaFactoryTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/local/AndroidLocalMediaFactoryTest.kt @@ -48,7 +48,8 @@ class AndroidLocalMediaFactoryTest { senderName = A_USER_NAME, senderAvatar = null, dateSent = "12:34", - dateSentFull = "full" + dateSentFull = "full", + waveform = null, ) ) } diff --git a/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeLocalMediaFactory.kt b/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeLocalMediaFactory.kt index 39014f90cb..f5f28007d4 100644 --- a/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeLocalMediaFactory.kt +++ b/libraries/mediaviewer/test/src/main/kotlin/io/element/android/libraries/mediaviewer/test/FakeLocalMediaFactory.kt @@ -42,6 +42,7 @@ class FakeLocalMediaFactory( senderAvatar = null, dateSent = null, dateSentFull = null, + waveform = null, ) return aLocalMedia(uri, mediaInfo) }