package com.reactnativetink.utils import android.content.Intent import org.junit.Assert import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito import org.mockito.junit.MockitoJUnitRunner @RunWith(MockitoJUnitRunner::class) class UtilsTest { @Mock lateinit var mockIntent: Intent // Mock data private val name = "example" private val value = "test" @Test fun testGetSerializableForBeforeTiramisu() { Mockito.`when`(mockIntent.getSerializableExtra(name)).thenReturn(value) val result = Utils().getSerializable(mockIntent, name, String::class.java) Assert.assertEquals(value, result) } @Test fun testGetSerializableForTiramisu() { val mockedUtils = Mockito.spy(Utils::class.java) Mockito.`when`(mockedUtils.isAtleastTiramisu()).thenReturn(true) Mockito.`when`(mockIntent.getSerializableExtra(name, String::class.java)).thenReturn(value) val result = mockedUtils.getSerializable(mockIntent, name, String::class.java) Assert.assertEquals(value, result) } }