From 8210a6c39c90e447b968c0f127b8f6040216d775 Mon Sep 17 00:00:00 2001 From: Nishan Wijesinghe Date: Mon, 27 May 2024 08:53:41 +0200 Subject: [PATCH] Update test for commit CoperFragment only before onStateSaved (#45) --- .../test/java/com/vinted/coper/CoperImplTest.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/library/src/test/java/com/vinted/coper/CoperImplTest.kt b/library/src/test/java/com/vinted/coper/CoperImplTest.kt index 07678b1..43124ec 100644 --- a/library/src/test/java/com/vinted/coper/CoperImplTest.kt +++ b/library/src/test/java/com/vinted/coper/CoperImplTest.kt @@ -1,6 +1,7 @@ package com.vinted.coper import android.content.pm.PackageManager +import android.os.Bundle import android.os.Looper.getMainLooper import androidx.core.content.PermissionChecker import androidx.fragment.app.FragmentActivity @@ -398,7 +399,7 @@ class CoperImplTest { @Test fun getFragment_lifecycleAlreadyAfterCreated_fragmentTransactionMade() = runTest { val activityController = Robolectric.buildActivity(FragmentActivity::class.java) - val activity = activityController.setup().pause().get() + val activity = activityController.setup().resume().get() val fixture = getCoperInstance( lifecycle = activity.lifecycle, fragmentManager = activity.supportFragmentManager @@ -411,6 +412,18 @@ class CoperImplTest { assertEquals(fragment, activity.supportFragmentManager.findFragmentByTag(FRAGMENT_TAG)) } + @Test(expected = CancellationException::class) + fun getFragment_lifecycleAlreadyStateSaved_throwCancellationException() = runTest { + val activityController = Robolectric.buildActivity(FragmentActivity::class.java) + val activity = activityController.setup().saveInstanceState(Bundle()).get() + val fixture = getCoperInstance( + lifecycle = activity.lifecycle, + fragmentManager = activity.supportFragmentManager + ) + + runIdlingMainThread { fixture.getFragmentSafely() } + } + @Test fun request_onIoThread_shouldNotCrash() = runTest { val fixture = getCoperInstance()