From 81d818041eaeb2de13a36b319560ae3250c308b0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 28 Jan 2025 12:47:05 +0100 Subject: [PATCH] Add tests on GroupedMediaItems.hasEvent --- .../android/libraries/matrix/test/TestData.kt | 1 + .../impl/gallery/ui/MediaItemAudioProvider.kt | 4 ++- .../impl/gallery/GroupedMediaItemsTest.kt | 34 +++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/GroupedMediaItemsTest.kt diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt index 1946d2259b..509fac833c 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt @@ -48,6 +48,7 @@ val A_THREAD_ID = ThreadId("\$aThreadId") val A_THREAD_ID_2 = ThreadId("\$aThreadId2") val AN_EVENT_ID = EventId("\$anEventId") val AN_EVENT_ID_2 = EventId("\$anEventId2") +val AN_EVENT_ID_3 = EventId("\$anEventId3") val A_ROOM_ALIAS = RoomAlias("#alias1:domain") val A_TRANSACTION_ID = TransactionId("aTransactionId") val A_DEVICE_ID = DeviceId("ILAKNDNASDLK") diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt index 7a0f6282ce..84eb7eadca 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/ui/MediaItemAudioProvider.kt @@ -9,6 +9,7 @@ package io.element.android.libraries.mediaviewer.impl.gallery.ui import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.core.preview.loremIpsum +import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo @@ -30,12 +31,13 @@ class MediaItemAudioProvider : PreviewParameterProvider { fun aMediaItemAudio( id: UniqueId = UniqueId("fileId"), + eventId: EventId? = null, filename: String = "filename", caption: String? = null, ): MediaItem.Audio { return MediaItem.Audio( id = id, - eventId = null, + eventId = eventId, mediaInfo = anAudioMediaInfo( filename = filename, caption = caption, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/GroupedMediaItemsTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/GroupedMediaItemsTest.kt new file mode 100644 index 0000000000..5a7cc91490 --- /dev/null +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/GroupedMediaItemsTest.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2025 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.libraries.mediaviewer.impl.gallery + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.AN_EVENT_ID_2 +import io.element.android.libraries.matrix.test.AN_EVENT_ID_3 +import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemAudio +import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage +import kotlinx.collections.immutable.persistentListOf +import org.junit.Test + +class GroupedMediaItemsTest { + @Test + fun `hasEvent returns the expected value`() { + val sut = GroupedMediaItems( + imageAndVideoItems = persistentListOf( + aMediaItemImage(eventId = AN_EVENT_ID), + ), + fileItems = persistentListOf( + aMediaItemAudio(eventId = AN_EVENT_ID_2), + ), + ) + assertThat(sut.hasEvent(AN_EVENT_ID)).isTrue() + assertThat(sut.hasEvent(AN_EVENT_ID_2)).isTrue() + assertThat(sut.hasEvent(AN_EVENT_ID_3)).isFalse() + } +}