From d44d3b7fce3a7c839ad03dc553cebdc9e3410949 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 28 Jan 2025 12:42:30 +0100 Subject: [PATCH] Add tests on DefaultFocusedTimelineMediaGalleryDataSourceFactory --- ...melineMediaGalleryDataSourceFactoryTest.kt | 31 +++++++++++++++++++ .../TimelineMediaGalleryDataSourceTest.kt | 24 +++++++------- 2 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultFocusedTimelineMediaGalleryDataSourceFactoryTest.kt diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultFocusedTimelineMediaGalleryDataSourceFactoryTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultFocusedTimelineMediaGalleryDataSourceFactoryTest.kt new file mode 100644 index 0000000000..ddd39ce1bc --- /dev/null +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultFocusedTimelineMediaGalleryDataSourceFactoryTest.kt @@ -0,0 +1,31 @@ +/* + * 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.room.FakeMatrixRoom +import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage +import kotlinx.coroutines.test.runTest +import org.junit.Test + +class DefaultFocusedTimelineMediaGalleryDataSourceFactoryTest { + @Test + fun `createFor should create a TimelineMediaGalleryDataSource`() = runTest { + val sut = DefaultFocusedTimelineMediaGalleryDataSourceFactory( + room = FakeMatrixRoom(), + timelineMediaItemsFactory = createTimelineMediaItemsFactory(), + mediaItemsPostProcessor = MediaItemsPostProcessor(), + ) + val result = sut.createFor( + eventId = AN_EVENT_ID, + mediaItem = aMediaItemImage(), + ) + assertThat(result).isInstanceOf(TimelineMediaGalleryDataSource::class.java) + } +} diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/TimelineMediaGalleryDataSourceTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/TimelineMediaGalleryDataSourceTest.kt index 27155ccc3e..d1a0c408ec 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/TimelineMediaGalleryDataSourceTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/TimelineMediaGalleryDataSourceTest.kt @@ -261,18 +261,20 @@ class TimelineMediaGalleryDataSourceTest { return TimelineMediaGalleryDataSource( room = room, mediaTimeline = LiveMediaTimeline(room), - timelineMediaItemsFactory = TimelineMediaItemsFactory( - dispatchers = testCoroutineDispatchers(), - virtualItemFactory = VirtualItemFactory( - dateFormatter = FakeDateFormatter(), - ), - eventItemFactory = EventItemFactory( - fileSizeFormatter = FakeFileSizeFormatter(), - fileExtensionExtractor = FileExtensionExtractorWithoutValidation(), - dateFormatter = FakeDateFormatter(), - ), - ), + timelineMediaItemsFactory = createTimelineMediaItemsFactory(), mediaItemsPostProcessor = MediaItemsPostProcessor(), ) } } + +fun TestScope.createTimelineMediaItemsFactory() = TimelineMediaItemsFactory( + dispatchers = testCoroutineDispatchers(), + virtualItemFactory = VirtualItemFactory( + dateFormatter = FakeDateFormatter(), + ), + eventItemFactory = EventItemFactory( + fileSizeFormatter = FakeFileSizeFormatter(), + fileExtensionExtractor = FileExtensionExtractorWithoutValidation(), + dateFormatter = FakeDateFormatter(), + ), +)