mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-08-02 16:52:18 +02:00
added test for when exception happens during compression
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
package com.vitorpamplona.amethyst.ui.components
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import android.os.Looper
|
||||
import com.abedelazizshe.lightcompressorlibrary.VideoCompressor
|
||||
@@ -30,7 +31,6 @@ import io.mockk.coEvery
|
||||
import io.mockk.coVerify
|
||||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import io.mockk.mockkClass
|
||||
import io.mockk.mockkObject
|
||||
import io.mockk.mockkStatic
|
||||
import io.mockk.unmockkAll
|
||||
@@ -146,7 +146,7 @@ class MediaCompressorTest {
|
||||
MediaCompressor().compress(
|
||||
uri,
|
||||
contentType,
|
||||
applicationContext = mockkClass(android.content.Context::class, relaxed = true),
|
||||
applicationContext = mockk<Context>(relaxed = true),
|
||||
onReady = { _, _, _ -> },
|
||||
onError = { },
|
||||
mediaQuality = mediaQuality,
|
||||
@@ -155,4 +155,30 @@ class MediaCompressorTest {
|
||||
// Verify
|
||||
coVerify(exactly = 1) { Compressor.compress(any(), any(), any(), any()) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Image compression should return back same uri on exception`() =
|
||||
runTest {
|
||||
// setup
|
||||
val mockContext = mockk<Context>(relaxed = true)
|
||||
val mockUri = mockk<Uri>()
|
||||
val mockOnReady = mockk<(Uri, String?, Long?) -> Unit>(relaxed = true)
|
||||
|
||||
mockkObject(MediaCompressorFileUtils)
|
||||
every { MediaCompressorFileUtils.from(any(), any()) } returns File("test")
|
||||
coEvery { Compressor.compress(any(), any<File>(), any(), any()) } throws Exception("Compression error")
|
||||
|
||||
// Execute
|
||||
MediaCompressor().compress(
|
||||
uri = mockUri,
|
||||
contentType = "image/jpeg",
|
||||
applicationContext = mockContext,
|
||||
onReady = mockOnReady,
|
||||
onError = { },
|
||||
mediaQuality = CompressorQuality.MEDIUM,
|
||||
)
|
||||
|
||||
// Verify: onReady should be called with original uri, content type, and null size
|
||||
verify { mockOnReady.invoke(mockUri, "image/jpeg", null) }
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user