From 5efc5930dabd2abd923813bd29c6e2659f69549b Mon Sep 17 00:00:00 2001 From: dadada Date: Thu, 12 Nov 2020 20:24:59 +0100 Subject: [PATCH] Add tests for MainActivity --- .../li/dadada/uuidgen/ui/MainActivityTest.kt | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 app/src/androidTest/java/li/dadada/uuidgen/ui/MainActivityTest.kt 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