commit c9d38448194bdeba26a4f869b3df10d62bd5d1c8 parent 3d2c49cd64cc36b2145ff64100e12ae397cb9885 Author: mcarare <48995920+mcarare@users.noreply.github.com> Date: Fri, 9 Jan 2026 14:50:50 +0000 Bug 2009368 - Update unit tests mocks for WebExtensionPromptFeature and ExternalAppBrowserActivity r=android-reviewers,giorga - In `WebExtensionPromptFeatureTest`, update `Optional` permissions request mock to include extension metadata and a parsable `updateDate`. - In `ExternalAppBrowserActivityTest`, ensure mocked intents return a `dataString` across multiple test cases. Differential Revision: https://phabricator.services.mozilla.com/D278480 Diffstat:
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivityTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivityTest.kt @@ -99,6 +99,8 @@ class ExternalAppBrowserActivityTest { every { bundle.getString(any()) } returns "" every { intent.extras } returns bundle every { intent.getBooleanExtra(any(), any()) } returns false + every { intent.dataString } returns null + return intent } }, @@ -123,6 +125,8 @@ class ExternalAppBrowserActivityTest { every { bundle.getString(any()) } returns "" every { intent.getBooleanExtra(any(), any()) } returns true every { intent.extras } returns bundle + every { intent.dataString } returns null + return intent } }, @@ -151,6 +155,8 @@ class ExternalAppBrowserActivityTest { every { bundle.getString(any()) } returns "" every { intent.getBooleanExtra(any(), any()) } returns false every { intent.extras } returns bundle + every { intent.dataString } returns null + return intent } }, diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/extension/WebExtensionPromptFeatureTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/extension/WebExtensionPromptFeatureTest.kt @@ -19,7 +19,6 @@ import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.engine.webextension.WebExtensionInstallException import mozilla.components.feature.addons.Addon import mozilla.components.support.ktx.android.content.appVersionName -import mozilla.components.support.test.ext.joinBlocking import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.rule.MainCoroutineRule import org.junit.Assert.assertFalse @@ -268,7 +267,14 @@ class WebExtensionPromptFeatureTest { @Test fun `GIVEN Optional Permissions WHEN handleAfterInstallationRequest is called THEN handleOptionalPermissionsRequest is called`() { webExtensionPromptFeature.start() - val request = mockk<WebExtensionPromptRequest.AfterInstallation.Permissions.Optional>(relaxed = true) + + val request = mockk<WebExtensionPromptRequest.AfterInstallation.Permissions.Optional>(relaxed = true) { + every { extension } returns mockk(relaxed = true) { + every { getMetadata() } returns mockk(relaxed = true) { + every { updateDate } returns "2023-10-27T10:15:30.500Z" + } + } + } webExtensionPromptFeature.handleAfterInstallationRequest(request)