From 709fedd4d72293cefda11cda0fc187012dcef53e Mon Sep 17 00:00:00 2001 From: James Hugman Date: Wed, 24 Jun 2020 23:32:47 +0100 Subject: [PATCH] Add unit tests for deep links --- .../intent/DeepLinkIntentProcessorTest.kt | 64 ++++++++++++++++++- 1 file changed, 61 insertions(+), 3 deletions(-) diff --git a/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt b/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt index 4acbc4365..0507b3daf 100644 --- a/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt @@ -10,6 +10,7 @@ import androidx.navigation.NavController import io.mockk.Called import io.mockk.mockk import io.mockk.verify +import mozilla.appservices.places.BookmarkRoot import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.junit.Before @@ -73,6 +74,30 @@ class DeepLinkIntentProcessorTest { verify { out wasNot Called } } + @Test + fun `process home_bookmarks deep link`() { + assertTrue(processor.process(testIntent("fenix://home_bookmarks"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalBookmarkFragment(BookmarkRoot.Root.id)) } + verify { out wasNot Called } + } + + @Test + fun `process home_history deep link`() { + assertTrue(processor.process(testIntent("fenix://home_history"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalHistoryFragment()) } + verify { out wasNot Called } + } + + @Test + fun `process home_collections deep link`() { + assertTrue(processor.process(testIntent("fenix://home_collections"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalHome()) } + verify { out wasNot Called } + } + @Test fun `process settings deep link`() { assertTrue(processor.process(testIntent("fenix://settings"), navController, out)) @@ -118,6 +143,38 @@ class DeepLinkIntentProcessorTest { verify { out wasNot Called } } + @Test + fun `process settings_addon_manager deep link`() { + assertTrue(processor.process(testIntent("fenix://settings_addon_manager"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalSettingsAddonsManagementFragment()) } + verify { out wasNot Called } + } + + @Test + fun `process settings_logins deep link`() { + assertTrue(processor.process(testIntent("fenix://settings_logins"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalSavedLoginsAuthFragment()) } + verify { out wasNot Called } + } + + @Test + fun `process settings_tracking_protection deep link`() { + assertTrue(processor.process(testIntent("fenix://settings_tracking_protection"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalTrackingProtectionFragment()) } + verify { out wasNot Called } + } + + @Test + fun `process settings_privacy deep link`() { + assertTrue(processor.process(testIntent("fenix://settings_privacy"), navController, out)) + + verify { navController.navigate(NavGraphDirections.actionGlobalSettingsFragment()) } + verify { out wasNot Called } + } + @Test fun `process enable_private_browsing deep link`() { assertTrue(processor.process(testIntent("fenix://enable_private_browsing"), navController, out)) @@ -157,11 +214,12 @@ class DeepLinkIntentProcessorTest { } @Test - fun `process settings_addon_manager deep link`() { - assertTrue(processor.process(testIntent("fenix://settings_addon_manager"), navController, out)) + fun `process settings_notifications deep link`() { + assertTrue(processor.process(testIntent("fenix://settings_notifications"), navController, out)) - verify { navController.navigate(NavGraphDirections.actionGlobalSettingsAddonsManagementFragment()) } + verify { navController wasNot Called } verify { out wasNot Called } + verify { activity.startActivity(any()) } } private fun testIntent(uri: String) = Intent("", uri.toUri())