diff --git a/app/src/androidTest/java/li/dadada/uuidgen/ui/MainActivityTest.kt b/app/src/androidTest/java/li/dadada/uuidgen/ui/MainActivityTest.kt new file mode 100644 index 0000000..632f6a9 --- /dev/null +++ b/app/src/androidTest/java/li/dadada/uuidgen/ui/MainActivityTest.kt @@ -0,0 +1,38 @@ +package li.dadada.uuidgen.ui + +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.navigation.NavController +import androidx.navigation.Navigation +import androidx.navigation.testing.TestNavHostController +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.matcher.ViewMatchers +import li.dadada.uuidgen.R + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.Assert.* +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class MainActivityTest { + + @Test + fun testOnOptionsItemSelected() { + val navController: NavController = + TestNavHostController(ApplicationProvider.getApplicationContext()) + navController.setGraph(R.navigation.nav_graph) + + val scenario = launchFragmentInContainer() + + // Set the NavController property on the fragment + scenario.onFragment { fragment -> + Navigation.setViewNavController(fragment.requireView(), navController) + + // Verify that performing a click changes the NavController’s state + onView(ViewMatchers.withId(R.id.action_history)).perform(click()) + } + assertEquals(navController.currentDestination?.id, R.id.uuid_list_fragment) + } +} \ No newline at end of file