Skip to content

Commit

Permalink
add RUMActivityTests
Browse files Browse the repository at this point in the history
  • Loading branch information
miquelbeltran committed Jan 7, 2025
1 parent fa11b91 commit e8f9b0e
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package com.raygun.raygun4android.rum

import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import com.raygun.raygun4android.RaygunRUMEventType
import com.raygun.raygun4android.TestTree
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.mockito.Mockito.anyLong
import org.mockito.Mockito.mock
import org.mockito.kotlin.eq
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import timber.log.Timber

class RUMActivityTest {
@Before
fun setup() {
Timber.plant(TestTree())
}

@After
fun tearDown() {
Timber.uprootAll()
}

@Test
fun activityLifecycle() {
val mockActivity = mock<AppCompatActivity>(AppCompatActivity::class.java)
val mockFragmentManager = mock<FragmentManager>(FragmentManager::class.java)
whenever(mockActivity.supportFragmentManager).thenReturn(mockFragmentManager)
val mockRUM = mock<RUM>(RUM::class.java)
val rumFragment = RUMFragment(mockRUM)
val rumActivity = RUMActivity(mockRUM, rumFragment)

// Simulate lifecycle from Created to Destroyed
rumActivity.onActivityCreated(mockActivity, null)
rumActivity.onActivityStarted(mockActivity)
rumActivity.onActivityResumed(mockActivity)
rumActivity.onActivityPaused(mockActivity)
rumActivity.onActivityStopped(mockActivity)
rumActivity.onActivityDestroyed(mockActivity)

// onActivityResumed should have called to sendRUMTimingEvent
verify(mockRUM).sendRUMTimingEvent(
eq(RaygunRUMEventType.ACTIVITY_LOADED),
eq("AppCompatActivity"),
anyLong()
)

// seen should be called for each "onActivity..."
verify(mockRUM, times(6)).seen()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import org.mockito.Mockito.mock
import org.mockito.junit.MockitoJUnitRunner
import org.mockito.kotlin.any
import org.mockito.kotlin.eq
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import timber.log.Timber

Expand All @@ -30,9 +31,6 @@ class RUMFragmentTest {
Timber.uprootAll()
}

private lateinit var mockFragmentManager: FragmentManager
private lateinit var mockRUM: RUM

@Test
fun fragmentLifecycle() {
val mockFragmentManager = mock<FragmentManager>(FragmentManager::class.java)
Expand All @@ -54,5 +52,8 @@ class RUMFragmentTest {
eq("Fragment"),
anyLong()
)

// seen should be called for each "onFragment..."
verify(mockRUM, times(6)).seen()
}
}

0 comments on commit e8f9b0e

Please sign in to comment.