Hush lite wallet for Android
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.1 KiB

package cash.z.ecc.android.test
import androidx.annotation.IdRes
import androidx.fragment.app.Fragment
import androidx.fragment.app.testing.FragmentScenario
import androidx.navigation.Navigation
import androidx.navigation.testing.TestNavHostController
import androidx.test.core.app.ApplicationProvider
data class FragmentNavigationScenario<T : Fragment>(
val fragmentScenario: FragmentScenario<T>,
val navigationController: TestNavHostController
) {
companion object {
fun <T : Fragment> new(
fragmentScenario: FragmentScenario<T>,
@IdRes currentDestination: Int
): FragmentNavigationScenario<T> {
val navController = TestNavHostController(ApplicationProvider.getApplicationContext())
fragmentScenario.onFragment {
navController.setGraph(cash.z.ecc.android.R.navigation.mobile_navigation)
navController.setCurrentDestination(currentDestination)
Navigation.setViewNavController(it.requireView(), navController)
}
return FragmentNavigationScenario(fragmentScenario, navController)
}
}
}